如何使用 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
订阅博客文章
查看更多内容
Ubuntu 正式支持 NVIDIA Jetson
Ubuntu 正式支持 NVIDIA Jetson:助力边缘 AI 未来发展 Canonical 宣布推出支持 NVIDIA® Jetson Orin™ 的 Ubuntu 正式发布版本,该版本专为边缘 AI 和机器人领域打造,为全球 AI 开发者带来优化的性能、开箱即用的兼容性以及实现高性能 AI 解决方案的便捷途径。 Ubuntu 发行商 Canonical 宣布正式支持 NVIDIA Jetson 平台,标志着其与 NVIDIA 的合作迎来重要里程碑,为加速边缘 AI 领域创新再添动力。此次正式发布(GA)版本为 Ubuntu 与 NVIDIA Jetson 系统级模块解决方案的强大组合赋予了企业级的稳定性与技术支持。 为各行各业 AI 创新赋能 此次通过 Canon […]
NIS2 合规指南:第 2 部 — 了解 NIS2 合规要求
在上一篇博客文章中,笔者详细介绍了 NIS2 及其适用对象。本系列的第二篇文章中将详细介绍 NIS2 中的主要要求,并将这些要求具体转化为切实可行的行动措施,助力企业组织满足 NIS2 合规要求。欢迎阅读本文,一同深入了解 NIS2 的内容。 NIS2 适用于您。那么,您需要做些什么来满足 NIS2 合规要求? 如果您正在阅读本文,想必已经意识到 EU NIS2 适用于您所在的公司。接下来,让我们深入探究其中的具体要求,以及为实现合规性需要采取的行动。 该指令规定,相关实体必须落实网络安全风险管理措施,且这些措施必须“适当适度”。尽管这一要求看似宽泛,存在一定的解释空间,但指令中明确规定了一系列必须落实的最低限度的网络安全风险管理措施。 下面将细入探讨这些措施,并将其转化 […]
最新 IDC 研究 — 70% 的 IT 团队每周在安全补丁方面耗费时间超 6 小时
Canonical 与国际数据公司(IDC)开展的最新研究表明,在严苛的 CVE 补丁更新规定下,企业组织难以笃定地应用补丁,并且在开源软件供应链方面也面临着其他严峻挑战。 今日,Ubuntu 发行商 Canonical 发布了一份与 IDC 合作完成并由 Google Cloud 联合赞助的研究报告,其揭示了有关企业组织在安全补丁和不断加重的监管负担方面所面临压力与挑战的全新见解。这份题为《软件供应链现状:安全挑战、机遇以及借助开源软件实现韧性的路径》的报告,对 500 家拥有 250 名以上全职员工的企业组织进行了调查,确定了他们所面临的最紧迫问题。最值得注意的是,这些问题都是企业组织在漏洞和补丁管理、软件依赖关系或软件供应链可视性不足以及软件来源可信度方面面临的难题 […]