xTuring 项目介绍
xTuring 是一个旨在帮助用户构建、修改和控制个性化大型语言模型(LLMs)的工具。它能够快速、有效地对开源 LLMs 进行微调,支持的模型包括 Mistral、LLaMA、GPT-J 等。通过提供简单易用的界面,用户可以将自己的数据和应用结合,实现LLM的定制化和精准化。
项目功能
xTuring 平台提供了一系列强大的功能,帮助用户更好地管理和优化模型:
- 数据处理:从不同来源获取数据,并将其预处理为 LLMs 能够理解的格式。
- 硬件扩展:支持单GPU到多GPU的扩展,使微调过程更快。
- 降低硬件成本:利用内存高效的方法,如INT4和LoRA微调,将硬件成本降低90%。
- 多种微调方法探索:用户可以尝试不同的微调方法,并通过基准测试找到性能最佳的模型。
- 模型评估:对微调后的模型进行详细的指标评估,进行深入分析。
如何安装
使用以下命令可以快速安装 xTuring:
pip install xturing
快速入门
在几步简单的操作中,用户即可开始使用 xTuring 微调模型:
from xturing.datasets import InstructionDataset
from xturing.models import BaseModel
# 加载数据集
instruction_dataset = InstructionDataset("./examples/models/llama/alpaca_data")
# 初始化模型
model = BaseModel.create("llama_lora")
# 微调模型
model.finetune(dataset=instruction_dataset)
# 进行推理
output = model.generate(texts=["为什么LLM模型如此重要?"])
print("模型生成的输出: {}".format(output))
更新功能
xTuring 的最新功能包括:
- LLaMA 2 集成:支持多种配置使用和微调,包括使用INT8 和 INT4 精度的 LoRA 微调。
- 模型评估:可以在任何数据集上评估因果语言模型,目前支持
perplexity
指标。 - INT4 精度:支持任何 LLM 使用 INT4 精度进行微调。
- CPU 推理:有效优化 CPU 推理能力,集成 Intel® 的扩展,加速模型运行。
- 批量整合:通过批处理尺寸的调整,加速推理和评估。
使用场景示例
CLI 和 UI Playground 提供可交互的方式来测试您的模型:
在 CLI 中运行:
$ xturing chat -m "<path-to-model-folder>"
在 UI 中使用:
from xturing.datasets import InstructionDataset
from xturing.models import BaseModel
from xturing.ui import Playground
dataset = InstructionDataset("./alpaca_data")
model = BaseModel.create("<model_name>")
model.finetune(dataset=dataset)
model.save("llama_lora_finetuned")
Playground().launch() # 启动本地界面
教程与性能
- 提供多个示例教程,如准备数据集、使用 LoRA 和 INT8 进行微调等。
- 提供性能比较,使用 LLaMA 7B 模型在不同硬件配置下进行微调的性能对比,帮助用户优化选择。
支持的模型
xTuring 支持多种模型,包括 Bloom、Cerebras、DistilGPT-2、Falcon-7B、Galactica、GPT-J、GPT-2、LlaMA 和 LlaMA2 等。
路线图
xTuring 未来计划支持更多低精度微调,如 INT3、INT2、INT1 和稳定扩散模型等,提供更广泛的兼容性和性能选择。
社区与支持
用户可以通过 GitHub 提 issue 获取帮助,或者加入 Discord 频道与社区成员讨论。
开源与贡献
xTuring 是一个开源项目,使用 Apache License 2.0 开放源码。项目欢迎各种形式的贡献,包括功能扩展和文档改进。详细贡献指南请见项目仓库中的贡献指南文件。
希望这个项目介绍帮助您更好地了解 xTuring,并激发您利用其特点来实现个性化和快速高效的 LLM 微调。