链载Ai

标题: torchtune:使用 PyTorch 轻松微调大型语言模型 [打印本页]

作者: 链载Ai    时间: 2 小时前
标题: torchtune:使用 PyTorch 轻松微调大型语言模型


torchtune 发布


作者: PyTorch团队


我们很高兴宣布 torchtune 的 alpha 版本发布,这是一个 PyTorch 原生库,用于轻松微调大型语言模型。

坚持 PyTorch 的设计原则,torchtune 提供了可组合和模块化的构建块,以及易于扩展的训练配方,用于在各种消费级和专业 GPU 上微调流行的大型语言模型。

torchtune 支持从头到尾的完整微调工作流程,包括:

开始使用,直接进入代码【1】或浏览我们的许多教程!

为什么选择 torchtune?


在过去一年中,对开源大型语言模型的兴趣出现了爆炸式增长。微调这些最先进的模型已经成为将它们应用于特定用例的关键技术。这种调整可能需要从数据集和模型选择到量化、评估和推理等各个方面进行大量定制。此外,这些大型模型的体积对于尝试在显存有限的消费级 GPU 上进行微调而言是一个重大挑战。

现有解决方案通过隐藏必要的组件背后的层层抽象,使添加这些定制或优化变得很困难。不清楚不同组件如何相互作用,以及需要更新哪些组件来添加新功能。torchtune 赋予开发人员以完全的控制权和可见性,根据特定需求和限制调整大型语言模型。

torchtune 的设计理念


torchtune 的设计理念如下:

在接下来的一年里,开源大型语言模型将变得更加强大,支持更多语言(多语言)、更多模态(多模态)和更多任务。随着这些模型的复杂性增加,我们需要在设计库时和提供功能或培训运行性能时一样重视"如何"。灵活性将是关键,以确保社区能够保持当前的创新步伐,许多库/工具都需要相互协作,以支持全谱系的使用案例。torchtune 从一开始就以未来为重心。

在真正的 PyTorch 精神下,torchtune 通过与一些最流行的大型语言模型工作工具集成,使入门变得很容易。

未来计划


这只是个开始,我们很高兴能在充满活力的社区面前推出这个 alpha 版本。在接下来的几周,我们将继续为库增加更多模型、功能和微调技术。我们渴望听到任何反馈、意见或功能请求,可在我们的 GitHub 仓库【1】中提出 issue,或在我们的 Discord 频道【2】中讨论。一如既往,我们期待这个优秀社区的任何贡献。祝微调愉快!

附录:PyTorch 设计理念【3】


这份文档旨在帮助贡献者和模块维护者理解 PyTorch 长期形成的高层次设计原则。这些并非硬性规定,而是作为指导方针,用于权衡不同考虑因素并解决开发 PyTorch 时可能出现的分歧。

设计原则

1. 可用性高于性能

PyTorch 的首要目标是可用性,次要目标是保持合理的性能。我们相信保持灵活性以支持基于 PyTorch 抽象构建的研究工作至关重要。我们无法预测未来工作负载,但我们希望它们首先建立在 PyTorch 之上,这需要灵活性。

2. 简单胜于容易

我们偏好暴露简单和显式的构建块,而不是对从业人员来说很容易使用的 API。简单版本对新 PyTorch 用户来说立即可以理解和调试。复杂系统很难调试。

3. Python 优先,同时具有一流的语言互操作性

PyTorch 深深植根于 Python,您可以自然地像使用 NumPy、SciPy 和 scikit-learn 等 Python 库一样使用它。我们的目标是不去重新发明已有的东西。尽管如此,我们还是不得不处理 Python 带来的开销,比如重写自动求导引擎、大部分算子定义等。

这些原则并非硬性规定,而是我们在构建 PyTorch 时作出的选择。我们期待与更多贡献者和维护者一起应用这些核心原则,并在学习新事物时继续发展这些原则。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5