Lamini:大语言模型精调框架

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 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 框架。

目录
相关文章
|
数据可视化 搜索推荐 JavaScript
数据可视化大屏百度地图区域掩膜MapMask实现地图指定区域非省市县行政区显示的实战案例解析(JavaScript API GL、个性化地图定制、指定区域经纬度拾取转化)
数据可视化大屏百度地图区域掩膜MapMask实现地图指定区域非省市县行政区显示的实战案例解析(JavaScript API GL、个性化地图定制、指定区域经纬度拾取转化)
1439 0
|
11月前
|
JavaScript 算法 前端开发
虚拟 DOM 如何提高应用的性能?
虚拟 DOM 通过减少真实 DOM 操作、高效的 Diff 算法、提升渲染性能、跨平台能力以及优化内存管理等多种方式,全面提高了应用的性能,为用户提供了更流畅、高效的交互体验,尤其在构建大型、复杂的前端应用时,其性能优势更加显著。
233 58
|
11月前
|
人工智能 自然语言处理 物联网
llama factory 从数据集起步 跑通 qwen系列开源生成式大模型 微调
`dataset_info.json` 文件用于管理 llama factory 中的所有数据集,支持 `alpaca` 和 `sharegpt` 格式。通过配置此文件,可以轻松添加自定义数据集。数据集的相关参数包括数据源地址、数据集格式、样本数量等,支持 Hugging Face 和 ModelScope 两个平台的数据集仓库。针对不同格式的数据集,提供了详细的配置示例,如 `alpaca` 格式的指令监督微调数据集、偏好数据集等,以及 `sharegpt` 格式的多模态数据集等。今天我们通过自定义数据集的方式来进行qwen2.5_14B_instruct模型进行微调
4269 7
|
8月前
|
机器学习/深度学习 人工智能 并行计算
一文了解火爆的DeepSeek R1 | AIGC
DeepSeek R1是由DeepSeek公司推出的一款基于强化学习的开源推理模型,无需依赖监督微调或人工标注数据。它在数学、代码和自然语言推理任务上表现出色,具备低成本、高效率和多语言支持等优势,广泛应用于教育辅导、金融分析等领域。DeepSeek R1通过长链推理、多语言支持和高效部署等功能,显著提升了复杂任务的推理准确性,并且其创新的群体相对策略优化(GRPO)算法进一步提高了训练效率和稳定性。此外,DeepSeek R1的成本低至OpenAI同类产品的3%左右,为用户提供了更高的性价比。
2437 11
|
测试技术 开发工具 Swift
Liger kernel训练加速,一行代码训练吞吐量提高 20%,显存使用量降低 60%
在LLM的训练/微调过程中,开发者通常会遇到一些瓶颈,包括GPU显存不够,经常遇到OOM,GPU使用率100%而且非常慢等。
Liger kernel训练加速,一行代码训练吞吐量提高 20%,显存使用量降低 60%
|
10月前
|
搜索推荐 物联网 PyTorch
Qwen2.5-7B-Instruct Lora 微调
本教程介绍如何基于Transformers和PEFT框架对Qwen2.5-7B-Instruct模型进行LoRA微调。
10448 34
Qwen2.5-7B-Instruct Lora 微调
|
10月前
|
人工智能 自然语言处理 人机交互
CosyVoice 2.0:阿里开源升级版语音生成大模型,支持多语言和跨语言语音合成,提升发音和音色等的准确性
CosyVoice 2.0 是阿里巴巴通义实验室推出的语音生成大模型升级版,通过有限标量量化技术和块感知因果流匹配模型,显著提升了发音准确性、音色一致性和音质,支持多语言和流式推理,适合实时语音合成场景。
6818 22
CosyVoice 2.0:阿里开源升级版语音生成大模型,支持多语言和跨语言语音合成,提升发音和音色等的准确性
|
数据采集 算法 物联网
【算法精讲系列】阿里云百炼SFT微调实践分享
本内容为您提供了百炼平台SFT微调的实践案例,帮助您方便并快速借助模型微调定制化您自己的专属模型。
3083 14
|
人工智能 自然语言处理 搜索推荐
国内可用的 Web Search API,可以平替Bing Search API
近期人们发现,AI对搜索引擎的需求远远超过人类。这个团队专为AI打造搜索引擎,上线仅60天就已被调用超30万次。
国内可用的 Web Search API,可以平替Bing Search API
|
11月前
|
人工智能 算法 大数据
Linux内核中的调度算法演变:从O(1)到CFS的优化之旅###
本文深入探讨了Linux操作系统内核中进程调度算法的发展历程,聚焦于O(1)调度器向完全公平调度器(CFS)的转变。不同于传统摘要对研究背景、方法、结果和结论的概述,本文创新性地采用“技术演进时间线”的形式,简明扼要地勾勒出这一转变背后的关键技术里程碑,旨在为读者提供一个清晰的历史脉络,引领其深入了解Linux调度机制的革新之路。 ###

热门文章

最新文章