LLamaTuner

LLamaTuner

大语言模型微调工具,支持几乎所有GPU

LLamaTuner是一款高效、灵活且功能全面的大语言模型微调工具。支持在几乎所有GPU上进行大语言模型的预训练和微调,包括单个8GB GPU上微调7B LLM和超过70B模型的多节点微调。自动调度高性能算子如FlashAttention和Triton内核,兼容DeepSpeed以提升训练吞吐量。支持多种LLM和VLM,以及QLoRA和LoRA等多种训练算法,提供连续预训练、指令微调和代理微调等功能,还能与大型模型进行对话。

LLamaTuner大语言模型模型训练数据预处理Supervised fine-tuning datasetGithub开源项目

项目介绍:LLamaTuner

LLamaTuner 是一个高效、灵活且功能齐全的工具包,旨在对大型语言模型(LLM)进行微调。这些模型包括 Llama3、Phi3、Qwen、Mistral 等。

高效性

  • 广泛支持的GPU:LLamaTuner 支持在几乎所有 GPU 上进行 LLM 和 VLM 的预训练和微调。用户可以在单个 8GB 的 GPU 上微调整 7B 的 LLM,亦可在多节点上微调整超过 70B 的模型。
  • 自动分配高性能运算操作:工具包可以自动分配 FlashAttention 和 Triton 内核等高性能操作来提高训练速度。
  • 兼容性:兼容 DeepSpeed,能够轻松利用多种 ZeRO 优化技术。

灵活性

  • 支持多种语言模型:包括 Llama3、Mixtral、Llama 2、ChatGLM、Qwen、Baichuan 等。
  • 支持视觉语言模型(VLM):如 LLaVA。
  • 完善的数据管道:支持任何格式的数据集,包括开源和自定义格式。
  • 多种训练算法:支持 QLoRA、LoRA、全参数微调等多种训练算法,用户可以根据自己的需求选择最适合的解决方案。

功能齐全

  • 支持多种微调任务:包括持续预训练、指令微调和代理微调。
  • 支持大模型对话:用户可使用预定义的模板与大模型进行对话。

支持的模型

LLamaTuner 支持多种大型语言模型,如 Baichuan、BLOOM、ChatGLM3、Command-R、DeepSeek (MoE)、Falcon、Gemma/CodeGemma、InternLM2、LLaMA、Mistral 等。模型的大小和模块的选择可以根据具体需求进行调整。

支持的训练方式

支持的训练方式包括全参数微调、冻结参数微调、LoRA 和 QLoRA。这些方法能够进行预训练、监督式微调、奖励建模、PPO、DPO 和 KTO 等多种训练任务。

支持的数据集

LLamaTuner 支持多种格式的数据集,大多数可以在 Hugging Face 数据集库中获取。这些数据集包括监督式微调数据集和偏好数据集,如 Stanford Alpaca 系列、BELLE 中文数据集、OpenAssistant、UltraChat 等。

数据预处理

在数据文件夹中提供多个数据预处理工具,帮助用户进行数据格式化和分类,如 data_utils.py、sft_dataset.py、conv_dataset.py 等。

模型目录

LLamaTuner 提供了一些在 Hugging Face 模型库中发布的模型,这些模型经过 QLoRA 训练,可用于推理和微调。如基于 Llama-7B 的全参数微调和经过 QLoRA 的 SFT 模型等。

硬件要求

对于不同的方法和模型大小,硬件要求各异,通常需要具备一定的显存容量,例如微调 7B 模型可能只需 12GB 显存,而调整 110B 模型则需要更高的显存资源。

入门指南

用户首先需要克隆这份代码仓库,然后根据需求选择适当的微调脚本。例如,可使用 train_qlora.py 基于 Alpaca 数据集进行基础模型的微调。

git clone https://github.com/jianzhnie/LLamaTuner.git cd LLamaTuner

QLoRA int4 微调

train_qlora.py 代码是进行不同数据集上微调和推理的起点。常规微调命令如下:

python train_qlora.py --model_name_or_path <path_or_name>

对于大于 13B 的模型,建议调整学习率:

python train_qlora.py --learning_rate 0.0001 --model_name_or_path <path_or_name>

已知问题和限制

列举了一些已知的问题和错误,例如 4 位推理速度较慢和 LoRA 训练运行时可能发生错误。如果出现未列出的问题,请创建新问题并描述问题详情。

开源协议

LLamaTuner 在 Apache 2.0 许可证下发布。

致谢

感谢 Huggingface 团队在将 QLoRA 与 PEFT 和 transformers 库集成方面的支持,也感谢许多开源贡献者的工作。

引用

如果您在使用数据或代码时方便引用本项目,请使用以下格式:

@misc{Chinese-Guanaco, author = {jianzhnie}, title = {LLamaTuner: Easy and Efficient Fine-tuning LLMs}, year = {2023}, publisher = {GitHub}, journal = {GitHub repository}, howpublished = {\url{https://github.com/jianzhnie/LLamaTuner}}, }

编辑推荐精选

博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

下拉加载更多