Lamini:大语言模型精调框架

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: Lamini 致力于解决 LLM 驱动开发中最困难的挑战之一。该框架提供了一个简单且一致的编程模型来抽象跨不同 LLM 的微调过程。我们很可能会在不久的将来看到 Lamini 被纳入不同的 LLM 框架。

Lamini:大语言模型精调框架

精调是大型语言模型 (LLM) 开发生命周期中最困难的部分之一。如果我们谈论的是诸如人类反馈强化学习 (RLHF) 之类的技术,那么这个过程尤其具有挑战性,因为这需要特别复杂的工作流程。 最近,我发现诞生了很多新的开源项目,这些项目试图简化 LLM 中的精调过程。其中最受关注的当属 Lamini

img

什么是Lamini

Lamini 是一个强大的工具,它允许所有背景的开发人员使用 Lamini 库中的几行代码来训练高性能的 LLM,包括与 ChatGPT 一样好的模型。Lamini 包含的优化超出了开发人员目前可用的范围,从复杂的 RLHF 到简单的错误消减,一应俱全。Lamini还可以仅用一行代码轻松比较多个基础模型,无论是来自 OpenAI 的闭源模型还是 HuggingFace 上的开源模型。

Lamini 包含如下关键能力:

  • Lamini 库包括优化过的提示调优和输入输出,可以直接在 Lamini 的 playground 上试用。
  • 只需几行代码,就可以通过访问先进的 Lamini 库进行微调和 RLHF。
  • 托管数据生成器支持构建块,用于创建训练指令遵循 LLM 所需的数据。
  • 只需几行代码即可使用指令跟随 LLM。

使用 Lamini 的过程可以总结为如下工作流程。

img

  1. 轻松调优模型:Lamini 库提供API,让开发者可以轻松调优模型,包括ChatGPT 和其他开源模型。 该库的 API 支持跨不同模型的快速调优,允许开发人员使用一行代码在 OpenAI 和开源模型之间切换。Lamini 库对提示进行了优化,让开发人员能够利用不同的模型,而不必担心如何为每个模型格式化提示。
  2. 构建大型输入输出对数据集:开发大型输入输出对数据集对于训练模型至关重要。高质量数据集可帮助模型学习如何遵循指令或以 JSON 格式进行响应。 Lamini 发布了一个存储库,该存储库使用 Lamini 库从 100 个数据样本生成 5 万个数据样本,供 Lamini 引擎使用。这个存储库包括一个开源的 5万 条数据的数据集。如何生成数据集下文有详细介绍。
  3. 在大型数据集上精调模型:除了数据生成器,Lamini 还发布了一个 LLM,它使用 Lamini 库对生成的数据进行微调。开发人员可以通过访问此功能以编程方式微调他们的模型。或者,调用 OpenAI 的微调 API 进行微调。
  4. 执行 RLHF:Lamini 让开发人员可以轻松地在微调模型上运行 RLHF,而无需庞大的机器学习和人工标记专家团队。
  5. 将模型部署到云端:开发人员对模型进行微调后,将其部署到云端就很简单了。开发人员可以点击其产品或功能中的 API 来部署他们的模型。

使用Lamini

Lamini 为微调模型提供了一个简单的编程模型,如下代码所示:

class Animal(Type):
    name: str = Context("name of the animal")
    n_legs: int = Context("number of legs that animal has")

class Speed(Type):
    speed: float = Context("how fast something can run")

llama_animal = Animal(name="Larry", n_legs=4)
centipede_animal = Animal(name="Cici", n_legs=100)

my_data = [llama_animal, centipede_animal]

dog_animal = Animal(name="Nacho", n_legs=4)
dog_speed = Story(story="There once was a cute doggo named Nacho. She was a golden retriever who liked to run. All four of her paws were adorable.")

my_data.append([dog_animal, dog_speed])

Lamini 另一个有趣的功能是支持批处理,它可以将微调作业作为批处理来执行。

job = llm.submit_job(self, input, output_type, *args, **kwargs)

此外,Lamini 允许为输出创建添加变体。

ad_copy = llm(input=aspects, output_type=AdCopy, random=True)

或者删除重复数据。

ad_copies = llm.sample(input=aspects, output_type=AdCopy, n=5)

数据生成器

Lamini 框架的主要组件之一是 Lamini 数据生成器,它是一个强大的 LLM 管道,旨在使用一组 100 多条指令的响应数据集来生成超过 5 万对新指令数据,从而提高 LLM 的性能。

img

该管道利用 Lamini 库调用不同但相似的 LLM 生成不同的指令和响应对,来训练您的 LLM,使其更好地遵循指令。

Lamini 使用名为 Lamini OpenLamini Instruct 的开源 LLM 为生成管道提供默认设置。截至当前版本,该框架正在使用 EleutherAI 的 Pythia for Lamini Open 生成更多指令,并使用 Databricks 的 Dolly for Lamini Instruct 生成这些指令的对应响应。

总结

使用 Lamini 切换 LLM 只需几行代码即可完成。

Lamini 致力于解决 LLM 驱动开发中最困难的挑战之一。该框架提供了一个简单且一致的编程模型来抽象跨不同 LLM 的微调过程。我们很可能会在不久的将来看到 Lamini 被纳入不同的 LLM 框架。

目录
相关文章
|
8月前
|
人工智能 自然语言处理 机器人
“大型语言模型”和“LLM”这些术语将变得不那么常见
【1月更文挑战第7天】“大型语言模型”和“LLM”这些术语将变得不那么常见
107 1
“大型语言模型”和“LLM”这些术语将变得不那么常见
|
8月前
|
文字识别 前端开发
CodeFuse-VLM 开源,支持多模态多任务预训练/微调
随着huggingface开源社区的不断更新,会有更多的vision encoder 和 LLM 底座发布,这些vision encoder 和 LLM底座都有各自的强项,例如 code-llama 适合生成代码类任务,但是不适合生成中文类的任务,因此用户常常需要根据vision encoder和LLM的特长来搭建自己的多模态大语言模型。针对多模态大语言模型种类繁多的落地场景,我们搭建了CodeFuse-VLM 框架,支持多种视觉模型和语言大模型,使得MFT-VLM可以适应不同种类的任务。
771 0
|
15天前
|
人工智能 自然语言处理 PyTorch
Bamba-9B:基于 Mamba2 架构的仅解码语言模型,旨在提高大型语言模型在推理时的效率
Bamba-9B 是由 IBM、普林斯顿大学、卡内基梅隆大学和伊利诺伊大学香槟分校联合推出的基于 Mamba2 架构的仅解码语言模型。该模型在开放数据集上训练,旨在提高大型语言模型的推理效率,特别是在处理长文本时的内存带宽瓶颈。Bamba-9B 在推理时相较于标准变换器模型展现出 2.5 倍的吞吐量提升和 2 倍的延迟加速。
59 12
Bamba-9B:基于 Mamba2 架构的仅解码语言模型,旨在提高大型语言模型在推理时的效率
|
4月前
|
机器学习/深度学习 自然语言处理 开发者
大语言模型应用框架介绍
大型语言模型(LLM)是在大规模文本数据上训练而成,用于执行自然语言处理任务的深度学习模型,如文本分类、问答、总结和生成等。尽管LLM如ChatGPT、GPT-3、LaMDA等备受关注,但其泛化能力和特定任务优化方面仍有限制。为此,应用框架如LangChain应运而生,提供了更优化的解决方案。学习LLM应用框架可循序渐进,掌握其应用场景及常见框架,构建具体应用。
|
5月前
|
机器学习/深度学习 自然语言处理 知识图谱
|
5月前
|
人工智能 自然语言处理 Swift
"轻量级微调推理框架SWIFT:大模型时代的速度革命,让你秒变AI部署高手!"
【8月更文挑战第17天】随着AI技术的发展,大模型如GPT-3和BERT引领风潮,但其部署与推理速度面临挑战。为此,魔搭社区推出了SWIFT(Simple Weight-Integrated Fine-Tuning)框架,它采用轻量级微调技术,实现模型参数压缩与加速,确保大模型能在移动端和边缘设备上高效运行。SWIFT具备四大特点:创新微调方法减少训练参数;内置优化策略提高推理速度;跨平台支持便于部署;兼容主流预训练模型。通过示例可见,从加载预训练模型到模型的微调、评估及导出,SWIFT简化了工作流程,降低了大模型的应用门槛,促进了AI技术的实际应用。
556 3
|
5月前
|
SQL 监控 测试技术
|
6月前
|
物联网 PyTorch 算法框架/工具
介绍一个大语言模型的微调框架Swift | AIGC
介绍一个大语言模型的微调框架Swift 【7月更文挑战第4天】
594 3
|
7月前
|
存储 自然语言处理 C++
LLM应用实战:当KBQA集成LLM(二)
本文主要是针对KBQA方案基于LLM实现存在的问题进行优化,主要涉及到图谱存储至Es,且支持Es的向量检索,还有解决了一部分基于属性值倒查实体的场景,且效果相对提升。
228 1
|
8月前
|
缓存 人工智能 自然语言处理
LLM 大模型学习必知必会系列(三):LLM和多模态模型高效推理实践
LLM 大模型学习必知必会系列(三):LLM和多模态模型高效推理实践
LLM 大模型学习必知必会系列(三):LLM和多模态模型高效推理实践

热门文章

最新文章