如何使用 DSS 构建您的首个模型
by Canonical on 20 March 2025
GenAI 无处不在,它正在改变我们对待技术的方式。如果您曾想要深入大型语言模型(LLM)的世界,但是感到无从下手,那么有一个好消息!Hugging Face 最近推出了一个自定进度的课程,非常适合初学者和更有经验的爱好者。由于模型占用面积小,它可以实际操作,易于使用,并且设计为在标准硬件上工作。
当我听到这个消息时,我决定使用 Canonical 的数据科学堆栈(DSS)来尝试一下。
在这篇博客中,我将指导您设置 DSS 并运行 Hugging Face 课程的第一个笔记本。该笔记本侧重于受监督的微调,这是一种使预先训练的语言模型适应特定任务或领域的方法。在这篇帖子的结尾,您将会看到 GenAI 是多么的简单和容易理解——这将是一项用于开启新年篇章的完美新技能。
设置您的环境
在我们开始学习本课程之前,让我们先打好基础。DSS 简化并加快了数据科学环境的配置。按照本指南安装 DSS 及其依赖项仅需花费您两分钟的时间(只需安装,不要立即启动笔记本)。开始吧,我在这里等你!
备注:DSS 同时支持 Intel 和 NVIDIA GPU 服务器,所以无需担心兼容性问题。如果您有 GPU,请阅读指南以启用 GPU 支持。
(~完成设置后喝杯咖啡~)
好了!现在,您已经在机器上准备好了 DSS,让我们继续创建新的笔记本:
dss create hf-smol-course --image=jupyter/minimal-notebook
该命令将创建一个名为 hf-smol-course
的新笔记本。我使用 Jupyter 注册表中的一个最小映像,这样我们就可以从一个裸环境开始安装 Smol 课程依赖项,而不会有任何冲突。
现在,导航到您在 dss list 中看到的 url,登录到您的笔记本。
进入笔记本后,打开终端,复制 Hugging Face Smol 课程库。
备注:将您的工作存储在共享文件夹中非常重要,这样它将在重新启动后继续存在。
cd shared
git clone https://github.com/huggingface/smol-course
cd smol-course
pip install -r requirements.txt
pip install ipywidgets
由于各种 cuda 依赖项,安装要求可能需要一点时间。
备注:使用笔记本登录 Hugging Face 时,必须使用 ipywidget。
刷新浏览器以确保正确加载了小部件库。
注意从头开始设置一个支持 GPU 的 Python 环境是多么的快速和简单。通常,您会经历更多的步骤来安装 Python、虚拟环境,调整 CUDA 驱动程序,然后可能会有一个工作环境。
获取 Hugging Face 令牌
在开始之前,确保准备好 Hugging Face 令牌。如果您没有,请访问 huggingface.co,单击您的个人资料图片,然后单击访问令牌。为您的笔记本创建新的 write token。您将在课程笔记本的开头使用此令牌登录 HF API。
这是一门自定进度的课程,现在您已经完成了环境设置,可以继续探索所有笔记本功能。让我们深入其中一个,小试牛刀。
探索受监督的微调
让我们开始操作!
进入 1_instruction_tuning 文件夹,您可以查看 README,它解释了聊天模板和受监督的微调的概念。了解模块背景知识,确保您熟悉这些技术(如果您不熟悉聊天模板,请首先阅读聊天模板笔记本)。
打开 sft_finetuning_example 笔记本,并浏览笔记本的前几个单元格。在定义一些导入之后,笔记本会在预训练之前测试基本模型,以向您展示基本模型实际上是无用的:

基本模型的输出不合理,我们需要进行微调。因此,笔记本会引导您完成数据集准备和训练。
除非您有强大的 GPU,否则我建议您调低训练参数来快速实验。您可以随时返回并设置更高的训练参数来比较结果。
在我的示例中,我设置 max_steps=300 和 eval_steps=30。训练这个模型花费我大约 20 分钟:

上传模型是可选项。通过在 TODO 注释后添加以下代码片段,您可以在同一提示符下完成再次验证微调模型的步骤:
model = AutoModelForCausalLM.from_pretrained(
pretrained_model_name_or_path=f"./{finetune_name}"
).to(device)
outputs = model.generate(**inputs, max_new_tokens=100)
print("After training:")
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
我的输出如下所示:

这个模型开始产生一些意义,但它显然需要更多的训练。您的结果如何?
为什么 DSS 使它变得更容易
当我设置笔记本时,有一件事很明显:DSS 消除了所有常见的设置难题。有了预装的库、GPU 支持和无缝界面,我不必解决驱动程序问题或花费数小时配置依赖项。相反,我可以完全专注于学习和实验。
此外,无论何时完成实验,都可以通过以下指令取下笔记本来轻松进行清理
dss remove <notebook name>
而不留任何痕迹。
这一经历提醒我们,为什么像 DSS 这样的工具会改变行业格局。它们降低了进入门槛,让更多的人探索数据科学和 GenAI 等领域,而不会被技术挑战所困扰。
后续步骤
所以在新的一年里,给自己一份学习礼物吧。有了 DSS 和 Hugging Face 的课程,您距离掌握 GenAI 的基础只有几步之遥。谁知道呢?这可能是您进入一个迷人新领域的旅程的开始。
我将很快写下 DSS 的其他方面,例如如何利用 MLFlow 将机器学习实验提升到一个新的水平。现在,享受 2025 年的开始,在学习有关 LLM 和 GenAI 的更多知识过程中享受乐趣吧!
了解有关数据科学堆栈的更多信息:https://ubuntu.com/ai/data-science
订阅博客文章
查看更多内容
83% 的企业肯定开源软件的应用价值,但也表示在安全与治理方面存在重大缺口
Linux Foundation 最新报告揭示了全球企业对开源软件的采用情况、使用现状及认知态度。 Linux Foundation 携手 Canonical 发布的最新报告《全球开源现状》,是继今年早些时候 Linux Foundation 欧洲地区报告之后的全球性报告。报告证实,欧洲地区报告中揭示的诸多趋势在全球范围内同样存在。这份全球报告尤其证实了开源软件在全球范围内作为关键业务系统基础所发挥的重要作用,并且表明采用率的持续攀升。不过,企业仍然缺乏战略性且安全管理开源软件所需的治理机制、安全测试体系及战略成熟度。 报告指出,多数企业期望开源软件能达到企业级性能标准,但在所需治理框架、安全实践及社区协作方面投入不足。 下载报告 83% 的企业承认开源对其未来发展具 […]
Canonical 获得 ISO 27001 认证
该认证是符合网络安全标准的有力证明,可在最严苛的企业环境中全面保障开源产品和服务的应用安全。 Canonical 自豪地宣布,经过知名认证提供商 A-LIGN 的广泛评估,其信息安全管理系统(ISMS)已获得 ISO/IEC 27001 认证。这一里程碑彰显了 Canonical 致力于遵守政策,完善流程和控制措施,这些措施旨在保障企业内部数据、客户数据及供应商信息的保密性、完整性及可用性,并推进公司的企业基础设施环境建设。 Canonical 首席信息安全官 Stephanie Domas 表示:“获得 ISO 27001 认证,有力地证明了我们团队对信息安全的坚定承诺。这证实了我们的流程符合全球最高标准,让我们的客户和合作伙伴确信他们的数据受到最周全、最严谨的保护。安 […]
如何借 Anbox Cloud 构建出色的云游戏平台
为何选择云游戏? 云游戏正在改变我们的游戏方式。玩家无需购买昂贵的硬件,而是从云端流式传输游戏,就像游戏界的 Netflix 一样。 这已不再是未来主义的构想,它就在眼前。NVIDIA GeForce Now、Sony PS Plus 以及 Xbox Cloud Gaming 等服务已展示出可能的图景:将所有心仪游戏(包括独立游戏和 AAA 游戏)从强大的云服务器流式传输至低端设备,从而畅玩高端游戏。 但云游戏的意义不仅在于通过云端运行游戏,更在于让玩家摆脱硬件的束缚。手机可以变身游戏主机,笔记本电脑甚至不需要专用 GPU 就可以成为游戏级电脑。为了实现这一目标,平台必须做到: 构建自有云游戏平台是一项艰巨的任务。游戏的资源需求量大,并且高度依赖 GPU 运算。但网络混乱 […]