2023年3月

你需要一款 ChatGPT 的平替?还得是开源的?看起来我们已经被卷入了与 ChatGPT 的开源大战。

open source model dolly

Databricks 这家软件公司,在各个领域都有所建树,尤其是在数据仓库和基于人工智能的解决方案方面。

最近,随着 ChatGPT 横空出世,Meta、谷歌甚至 Mozilla 都开始效仿 ChatGPT。

而现在,Databricks 开源了其 大型语言模型 large language model (LLM)“Dolly”,也正在以自己的方式进行尝试。

我们一起来看看它。

发生了什么? 在最近的公告中,Databricks 介绍了他们号称 “廉价构建” 的 LLM,使用 EleutherAI 的已经开源的参数 模型 提供功能。

他们在该模型基础上稍作调整,赋予了 Dolly 指令诸如头脑风暴和文本生成的能力。

当你拿它与 GPT-3 中的 1750 亿个参数 比较时,Dolly 的 60 亿个参数 就可能显得微不足道。

但是,当 Databricks 的人看到即使数据量与 GPT-3 相差这么多,Dolly 也能 展示很多与 ChatGPT 相同的能力 时,他们感到非常震惊。

下面是他们展示的其中一个例子:

a screenshot of how dolly performs in an open question and answer scenario

原始模型使用了 Alpaca 的数据,该模型由斯坦福大学以 Meta 的 LLaMA LLM 为基础建立。

但是,正如你所看到的,原始模型产生了一个非常杂乱无章的结果,而 Dolly,通过不同的模型和调整,能够产生一个更为可用的答案。

? 有趣的事实:“ 多莉 Dolly ” 名字取自世界上第一只克隆羊。

为什么是现在? 根据 Databricks 的说法,他们认为 **许多公司更愿意建立自己的模型,**而不是将数据发送给某个紧紧掌握模型只对外提供 API 的集中式供应商。

许多公司可能不愿意将他们最敏感的数据交给第三方,然后在模型质量、成本和所需行为方面进行各种权衡。

你想看看吗?

当然,但有一个问题。

你必须 使用他们的平台来使用 Dolly,他们已经开源了一个 Databricks 笔记本,可以帮助你在 Databricks 上构建它。

此外,如果你想获得训练好的权重,你必须联系他们。不过我不确定他们是否会免费提供使用权。

总而言之,这种开源其模型的举动应该对其他公司有好处,可以保护他们的数据、节省运营成本,其他公司也能使用它创建自己的模型。

你可以查看其 公告博客,以了解更多技术细节和其他计划。


via: https://news.itsfoss.com/open-source-model-dolly/

作者:Sourav Rudra 选题:lkxed 译者:lxbwolf 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在 Ubuntu 的混合风味中加入肉桂味,完美!

Ubuntu Cinnamon

在等待下个月的 Ubuntu 23.04 吗?

好吧,我们已经提到,在 Ubuntu 23.04 版本的 令人兴奋 的事情中,包括一个新的官方的 Cinnamon 风味(它最初是 Ubuntu Cinnamon Remix)。

而且,它**现在是官方版本*,因为 Ubuntu 的技术委员会以足够的票数 批准了它

Ubuntu Cinnamon 23.04 值得期待的地方

Ubuntu Cinnamon 23.04 的屏幕截图

如果你之前已经使用过 Ubuntu Cinnamon Remix(非官方),你可能对它有点概念了。

如果你想要一个带有 Cinnamon 桌面的 Ubuntu 风味版,而没有众多的特殊定制,Ubuntu Cinnamon 适合你。

而另一方面,Linux Mint 也是一个基于 Ubuntu 的 Cinnamon 桌面。然而,你会得到一个 Mint 特有的主题、图标、工具和调整,体验有所不同。

基本上,如果你使用 Linux Mint,它不会让你感觉到 “只是另一种 Ubuntu 风味”。

别忘了,Linux Mint 默认禁用 Snap,而且是 Flatpak 优先的,这与 Ubuntu Cinnamon 23.04 的情况完全相反。

Ubuntu Cinnamon 菜单截图

所以,如果你喜欢使用 Snap 而不是 Flatpak,并且喜欢 Ubuntu 通常的风味版的工作方式,Ubuntu Cinnamon 是一个不错的补充。关于这个版本的其他一些值得注意的地方包括:

  • 预装的应用程序,如 Synaptic Package Manager、LibreOffice 等
  • Ubuntu 的 Yaru 主题
  • 没有像你期望的 Linux Mint 那样的 XApp

目前,根据其 最新的日常构建,Ubuntu Cinnamon 23.04 几乎已经准备好发布(将于下个月发布)。

它是否会赢得 Linux Mint 用户的青睐,那是另外一个故事。但是,Ubuntu 上的新 Cinnamon 版应该会让更多的用户尝试 Cinnamon 桌面,这是件好事

Cinnamon 桌面融合了传统 Windows 风格的布局,并提供了更多的功能。

你可以在 Ubuntu Cinnamon 博客 上阅读官方公告。

你考虑改用 Ubuntu Cinnamon 作为你的首选口味吗?请在评论中分享你的想法。


via: https://news.itsfoss.com/ubuntu-cinnamon-official/

作者:Ankush Das 选题:lkxed 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Windows 11 给开始菜单加入广告

在微软为 Windows 11 发布的 3 月份的非安全预览补丁 KB5023778 中,在开始菜单为微软账号引入了通知。该补丁是可选的,以帮助 Windows 管理员测试将在下个月的补丁星期二推出的改进。所谓的“账号通知”你可以看做是微软自己的产品广告,比如建议用户使用 OneDrive 备份文件。该功能首先提供给一小部分用户,未来几个月再推广给更多用户。

消息来源:Bleeping Computer
老王点评:操作系统厂商现在都喜欢在操作系统里放广告,就好像剩下苹果没有这样做了。

微软发布基于 OpenAI 的聊天工具以对抗网络攻击

微软最新的人工智能助理工具使用了 GPT-4 语言系统和安全领域的特定数据。它可以帮助安全工作者更迅速地看到黑客的各个部分之间的联系,如可疑的电子邮件、恶意软件文件或系统中被破坏的部分。微软几年来一直在使用机器学习技术来根除可疑的行为和发现漏洞,但最新的人工智能技术可以提供更快的分析,并增加了使用普通英语描述问题的能力。

消息来源:彭博社
老王点评:毕竟黑客们都已经开始用 AI 来进行攻击了。

微软正在开发一个能与 ChromeOS 竞争的下一代操作系统

该项目代号为 CorePC,旨在成为一个模块化和可定制的 Windows 变体,采用了许多与 Windows Core OS 相同的创新。并非所有的 Windows PC 都需要对传统 Win32 应用程序的全面支持,CorePC 将允许微软配置具有不同功能和应用程序兼容性水平的 Windows “版本”。与目前的 Windows 版本相比,最大的变化是 CorePC 是状态分离的,这可以使更新速度更快,并通过用户和第三方应用程序无法访问的只读分区提供一个更安全的平台,就像 iPadOS 或安卓一样。CorePC 将使微软最终能够提供一个在操作系统尺寸、性能和功能上真正与 ChromeOS 竞争的 Windows 版本。

消息来源:Windows Central
老王点评:看来今天这期是微软专辑了。微软虽然一直在尝试将 Windows 装到 PC 之外,但都没有什么好的结果,不知道这次尝试会如何。

你是否正在寻找有关如何使用 Kubespray 安装 Kubernetes(k8s)的简单指南?

此页面上的分步指南将向你展示如何在 Linux 系统上使用 Kubespray 安装 Kubernetes 集群。

Kubespray 是一个自由开源的工具,它提供了 Ansible 剧本 playbook 来部署和管理 Kubernetes 集群。它旨在简化跨多个节点的 Kubernetes 集群的安装过程,允许用户快速轻松地部署和管理生产就绪的 Kubernetes 集群。

它支持一系列操作系统,包括 Ubuntu、CentOS、Rocky Linux 和 Red Hat Enterprise Linux(RHEL),它可以在各种平台上部署 Kubernetes,包括裸机、公共云和私有云。

在本指南中,我们使用以下实验室:

  • Ansible 节点(Kubespray 节点):最小安装的 Ubuntu 22.04 LTS(192.168.1.240)
  • 3 个控制器节点:最小安装的 Rocky Linux 9(192.168.1.241/242/243)
  • 2 个工作节点:最小安装的 Rocky Linux 9(192.168.1.244/245)

Kubespray 的最低系统要求

  • 主节点:1500 MB RAM、2 个 CPU 和 20 GB 可用磁盘空间
  • 工作节点:1024 MB、2 个 CPU、20 GB 可用磁盘空间
  • Ansible 节点:1024 MB、1 个 CPU 和 20 GB 磁盘空间
  • 每个节点上的互联网连接
  • 拥有 sudo 管理员权限

事不宜迟,让我们深入了解安装步骤。

步骤 1)配置 Kubespray 节点

登录到你的 Ubuntu 22.04 系统并安装 Ansible。运行以下一组命令:

$ sudo apt update
$ sudo apt install git python3 python3-pip -y
$ git clone https://github.com/kubernetes-incubator/kubespray.git
$ cd kubespray
$ pip install -r requirements.txt

验证 Ansible 版本,运行:

$ ansible --version

创建主机清单,运行以下命令,不要忘记替换适合你部署的 IP 地址:

$ cp -rfp inventory/sample inventory/mycluster
$ declare -a IPS=(192.168.1.241 192.168.1.241 192.168.1.242 192.168.1.243 192.168.1.244 192.168.1.245)
$ CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}

修改清单文件,设置 3 个控制节点和 2 个工作节点:

$ vi inventory/mycluster/hosts.yaml

保存并关闭文件。

查看并修改文件 inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml 中的以下参数:

kube_version: v1.26.2
kube_network_plugin: calico
kube_pods_subnet: 10.233.64.0/18
kube_service_addresses: 10.233.0.0/18
cluster_name: linuxtechi.local

要启用 Kuberenetes 仪表板和入口控制器等插件,请在文件 inventory/mycluster/group_vars/k8s_cluster/addons.yml 中将参数设置为已启用:

$ vi inventory/mycluster/group_vars/k8s_cluster/addons.yml
dashboard_enabled: true
ingress_nginx_enabled: true
ingress_nginx_host_network: true

保存并退出文件。

步骤 2)将 SSH 密钥从 Ansible 节点复制到所有其他节点

首先在你的 Ansible 节点上为你的本地用户生成 SSH 密钥:

$ ssh-keygen

使用 ssh-copy-id 命令复制 SSH 密钥:

$ ssh-copy-id [email protected]
$ ssh-copy-id [email protected]
$ ssh-copy-id [email protected]
$ ssh-copy-id [email protected]
$ ssh-copy-id [email protected]

还要在每个节点上运行以下命令:

$ echo "sysops ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/sysops

步骤 3)禁用防火墙并启用 IPV4 转发

要在所有节点上禁用防火墙,请从 Ansible 节点运行以下 ansible 命令:

$ cd kubespray
$ ansible all -i inventory/mycluster/hosts.yaml -m shell -a "sudo systemctl stop firewalld && sudo systemctl disable firewalld"

运行以下 ansible 命令以在所有节点上启用 IPv4 转发和禁用交换:

$ ansible all -i inventory/mycluster/hosts.yaml -m shell -a "echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf"
$ ansible all -i inventory/mycluster/hosts.yaml -m shell -a "sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab && sudo swapoff -a"

步骤 4)启动 Kubernetes 部署

现在,我们都准备好开始 Kubernetes 集群部署,从 Ansible 节点运行下面的 Ansible 剧本:

$ cd kubespray
$ ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml

现在监控部署,可能需要 20 到 30 分钟,具体取决于互联网速度和硬件资源。

部署完成后,我们将在屏幕上看到以下输出:

很好,上面的输出确认部署已成功完成。

步骤 5)访问 Kubernetes 集群

登录到第一个主节点,切换到 root 用户,在那里运行 kubectl 命令:

$ sudo su -
# kubectl get nodes
# kubectl get pods -A

输出:

完美,上面的输出确认集群中的所有节点都处于就绪状态,并且所有命名空间的 容器荚 Pod 都已启动并正在运行。这表明我们的 Kubernetes 集群部署成功。

让我们尝试部署基于 Nginx 的部署并将其公开为节点端口,运行以下 kubectl 命令:

$ kubectl create deployment demo-nginx-kubespray --image=nginx --replicas=2
$ kubectl expose deployment demo-nginx-kubespray --type NodePort --port=80
$ kubectl get  deployments.apps
$ kubectl get pods
$ kubectl get svc demo-nginx-kubespray

以上命令的输出:

现在尝试使用工作节点的 IP 地址和节点端口(30050)访问此 Nginx 应用。

使用以下 curl 命令或 Web 浏览器访问此应用。

$ curl 192.168.1.245:30050

或者,

完美,这证实了应用可以在我们的集群之外访问。

步骤 6)Kubernetes 仪表板(GUI)

要访问 Kubernetes 仪表板,让我们首先创建服务帐户并分配管理员权限,以便它可以使用令牌访问仪表板。

在 kube-system 命名空间中创建名为 “admin-user” 的服务帐户:

$ vi dashboard-adminuser.yml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system

保存并关闭文件。

$ kubectl apply -f dashboard-adminuser.yml
serviceaccount/admin-user created

创建集群角色绑定:

$ vi admin-role-binding.yml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kube-system

保存并退出文件。

$ kubectl apply -f admin-role-binding.yml
clusterrolebinding.rbac.authorization.k8s.io/admin-user created

现在,为管理员用户创建令牌:

$ kubectl -n kube-system  create token admin-user

复制此令牌并将其放在安全的地方,因为我们将使用令牌登录 Kubernetes 仪表板。

使用以下 ssh 命令从你的系统连接到第一个主节点:

$ ssh -L8001:localhost:8001 [email protected]

注意:替换适合你环境的 IP 地址。

登录后,切换到 root 用户并运行 kubectl proxy 命令:

$ sudo su -
# kubectl proxy
Starting to serve on 127.0.0.1:8001

打开系统的网络浏览器,如下设置代理:

完成代理设置后,将以下网址粘贴到浏览器中:

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#/login

选择令牌登录并粘贴你在上面为管理员用户生成的令牌,然后单击“ 登录 Sign in ”。

这就是本指南的全部内容,我希望你能从中找到有用的信息。请在下面的评论部分中发表你的疑问和反馈。


via: https://www.linuxtechi.com/install-kubernetes-using-kubespray/

作者:Pradeep Kumar 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

程序员可以通过 Flatpak 轻松、稳定地发布他们的软件,让他们专注于他们的激情工作:编程。

 title=

如今,人们比以往任何时候都喜爱 Linux。在这个系列中,我将分享使用 Linux 的 21 个不同理由。今天,我将谈一谈是什么让 Linux 的打包成为程序员的理想选择。

程序员喜欢编程。这可能看起来是一个显而易见的说法,但重要的是要明白,开发软件所涉及的不仅仅是编写代码。它包括编译、文档、源代码管理、安装脚本、配置默认值、支持文件、交付格式等等。从一个空白的屏幕到一个可交付的软件安装程序,需要的不仅仅是编程,但大多数程序员宁愿编程也不愿打包。

什么是打包?

当食物被送到商店购买时,它是被包装好的。当直接从农民或从环保的散装或桶装商店购买时,包装是你所带的任何容器。当从杂货店购买时,包装可能是一个纸板箱、塑料袋、一个铁罐等等。

当软件被提供给广大计算机用户时,它也必须被打包起来。像食品一样,软件也有几种打包方式。开源软件可以不进行打包,因为用户在获得原始代码后,可以自己编译和打包它。然而,打包也有好处,所以应用程序通常以某种特定于用户平台的格式交付。而这正是问题的开始,因为软件包的格式并不只有一种。

对于用户来说,软件包使安装软件变得容易,因为所有的工作都由系统的安装程序完成。软件被从软件包中提取出来,并分发到操作系统中的适当位置。几乎没有任何出错的机会。

然而,对于软件开发者来说,打包意味着你必须学会如何创建一个包 —— 而且不仅仅是一个包,而是为你希望你的软件可以安装到的每一个操作系统创建一个独特的包。更加复杂的是,每个操作系统都有多种打包格式和选项,有时甚至是不同的编程语言。

为 Linux 打包

传统上,Linux 的打包方式似乎是非常多的。从 Fedora 衍生出来的 Linux 发行版,如 Red Hat 和 CentOS,默认使用 .rpm 包。Debian 和 Ubuntu(以及类似的)默认使用 .deb 包。其他发行版可能使用其中之一,或者两者都不使用,选择自定义的格式。当被问及时,许多 Linux 用户说,理想情况下,程序员根本不会为 Linux 打包他们的软件,而是依靠每个发行版的软件包维护者来创建软件包。所有安装在 Linux 系统上的软件都应该来自该发行版的官方软件库。然而,目前还不清楚如何让你的软件可靠地被一个发行版打包和包含,更不用说所有的发行版了。

Linux 的 Flatpak

Flatpak 打包系统是为了统一和去中心化 Linux 作为开发者的交付目标而推出的。通过 Flatpak,无论是开发者还是其他人(Linux 社区的成员、不同的开发者、Flatpak 团队成员或其他任何人)都可以自由地打包软件。然后他们可以将软件包提交给 Flathub,或者选择自我托管软件包,并将其提供给几乎任何 Linux 发行版。Flatpak 系统适用于所有 Linux 发行版,所以针对一个发行版就等于针对所有发行版。

Flatpak 技术如何工作

Flatpak 具有普遍吸引力的秘密是一个标准基础。Flatpak 系统允许开发者引用一套通用的软件开发者工具包(SDK)模块。这些模块由 Flatpak 系统的维护者进行打包和管理。当你安装 Flatpak 时,SDK 会根据需要被拉入,以确保与你的系统兼容。任何特定的 SDK 只需要一次,因为它所包含的库可以在任何 Flatpak 中共享。

如果开发者需要一个尚未包含在现有 SDK 中的库,开发者可以在 Flatpak 中添加该库。

结果不言自明。用户可以从一个叫做 Flathub 的中央仓库在任何 Linux 发行版上安装数百个软件包。

开发者如何使用 Flatpak

Flatpak 被设计成可重复的,所以构建过程很容易被集成到 CI/CD 工作流程中。Flatpak 是在一个 YAML 或 JSON 清单文件中定义的。你可以按照我的 介绍性文章 创建你的第一个 Flatpak,你也可以在 docs.flatpak.org 阅读完整的文档。

Linux 让它变得简单

在 Linux 上创建软件很容易,为 Linux 打包也很简单,而且可以自动化。如果你是一个程序员,Linux 使你很容易忘记打包这件事,因为它只需要针对一个系统,并可以整合到你的构建过程中。


via: https://opensource.com/article/21/2/linux-packaging

作者:Seth Kenlon 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

马斯克等人呼吁暂停训练更强大的 AI

埃隆·马斯克和一群人工智能专家、行业高管在一封公开信中说,他们呼吁至少在六个月内暂停训练比 OpenAI 的 GPT-4 更强大的系统,并呼吁政府介入。其理由是对社会和人类的潜在风险。这份公开信有 1000 多人签名,除了马斯克,还包括 DeepMind 的研究人员、开发稳定扩散 AIGC 的公司 CEO 等等。他们认为需要先制定、实施并由独立专家审核的共享安全协议。OpenAI 没有参与签名,也没有置评。

今天还有一则消息称,马斯克离开 OpenAI 是由于夺权失败。马斯克曾承诺赞助 10 亿美元给 OpenAI,但赞助 1 亿美元后离开了 OpenAI 就没有继续赞助。

消息来源:路透社
老王点评:签署这封信的人可能大多出于公义,但是 AI 这个魔盒打开,恐怕是难以这样轻易关上的。

英伟达表示加密货币没有给社会带来任何有用的东西

英伟达的显卡曾经被大量用来挖掘以太坊之类的加密货币,由于被大量抢购,英伟达一度限制过其显卡的挖矿能力。英伟达也曾推出挖矿专用的显卡,并从中获利甚丰。但随着以太坊转向 POS 共识,不再需要显卡来挖矿,这一市场几乎马上消失了。如今该公司的 CTO 称,加密货币没有 “给社会带来任何有用的东西。……处理能力的其他用途,如人工智能聊天机器人 ChatGPT,比挖掘加密货币更有价值。”第一个版本的 ChatGPT 是在一台由大约 10,000 块英伟达显卡组成的超级计算机上训练的。

消息来源:《卫报》
老王点评:这翻脸可真快啊。

英国设置假的 DDoS 雇佣网站以扰乱市场

英国国家犯罪署建立了虚假的 DDoS 雇佣网站,试图收集用户的信息,提醒他们发动 DDoS 攻击是非法的。这些看起来像提供了使网络罪犯能够实施这些攻击的工具和服务的虚假网站,迄今已有数千人访问过。然而,在用户注册后,在英国的用户将被国家犯罪署或警方联系,并被警告参与网络犯罪。与设在海外的用户有关的信息将被传递给国际执法部门。

消息来源:Krebson Security
老王点评:这让那些想要攻击别人的人自投罗网。