谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭Close

如何使用 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=300eval_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

订阅博客文章

订阅您感兴趣的主题

在提交此表格的同时,我确认已阅读和同意的隐私声明隐私政策。

查看更多内容

Canonical 获得 ISO/SAE 21434 认证,强化了汽车网络安全标准

经过认证的网络安全流程有助于保护下一代互联汽车 Canonical 自豪地宣布,其安全管理系统经过全球知名认证提供商 TÜV SÜD 的广泛评估,已获得 ISO/SAE 21434 认证。这一里程碑突出了 Canonical 在为汽车行业提供可信可靠的开源解决方案方面的领导地位。它强调了 Canonical 对三大关键业务支柱的承诺:强大的网络安全、符合全球行业标准以及为自动驾驶和智能汽车构建更安全的未来。 强大的汽车网络安全 随着车辆的互联程度越来越高,未经授权的访问、远程攻击和数据泄露的风险也显著增加。ISO/SAE 21434 为在整个车辆生命周期内管理这些风险提供了详细的框架。对于原始设备制造商和一级供应商来说,合规是在竞争激烈的市场中交付产品的关键。 Canon […]

Canonical 和 Renesas 宣布将合作加速企业 AI 创新

Ubuntu 的发行商 Canonical 宣布,半导体解决方案的全球领导者 Renesas Electronics Corporation 已加入 Canonical 的硅合作伙伴计划,以提供量身定制的尖端解决方案来满足边缘计算和 AI 应用不断增长的需求。随着行业越来越多地采用 AI 驱动的解决方案,对高效、可扩展和安全维护的边缘计算平台的需求前所未有地高涨。此次合作将结合 Renesas 在嵌入式处理方面的专业知识和 Canonical 全面的物联网(IoT)软件堆栈。 可扩展的生产级解决方案 Canonical 和 Renesas 的合作旨在为原始设备制造商(OEM)和原始设计制造商 (ODM)提供可扩展的生产级解决方案,从而缩短上市时间(TTM)。Renesas […]

RAG 是什么?

在 2020 年的一篇论文中,Patrick Lewis 和他的研究团队引入了术语 RAG,即检索增强一代。该技术通过利用外部知识来源,如文件和广泛的数据库,增强了生成式 AI 模型。RAG 填补了传统大型语言模型(LLM)中的一个空白。传统的模型依赖于已经包含在其中的静态知识,而 RAG 则结合了最新信息,作为 LLM 的可靠事实来源。虽然 LLM 可以在没有 RAG 的情况下快速理解和响应提示,但它们通常不能提供最新或更具体的信息。 RAG 的一个实际应用是对话代理和聊天机器人。借助 RAG 模型,这些系统能够从外部来源获取上下文相关的信息,从而增强自身性能。这种能力确保客户服务聊天机器人、虚拟助理和其他对话界面在交互过程中提供准确和信息丰富的响应。另一个用例是在高级 […]