⚡ LitGPT:20+高性能大语言模型的一站式解决方案
为什么选择LitGPT?
企业级开源大模型工具链 LitGPT让开发者能够:
-
✅ 完全掌控20+主流大模型(从70亿到4050亿参数) -
✅ 从零实现模型架构,无抽象层干扰 -
✅ 支持预训练、微调、部署全流程 -
✅ 单GPU到千卡集群无缝扩展 -
✅ 开源Apache 2.0协议,企业可自由商用
5分钟快速上手
安装只需一行命令:
pip install 'litgpt[extra]'
立即调用微软Phi-2模型:
from litgpt import LLM
llm = LLM.load("microsoft/phi-2")
print(llm.generate("Fix the spelling: Every fall, the family goes to the mountains."))
# 输出:Every fall, the family goes to the mountains.
技术优势:原生支持Flash Attention优化,4-bit量化后可在消费级GPU运行
支持20+前沿大语言模型
模型系列 | 典型尺寸 | 研发机构 | 技术亮点 |
---|---|---|---|
Llama 3.3 | 70B | Meta AI | 2024年最强开源模型 |
Gemma 2 | 2B/9B/27B | Google DeepMind | 轻量化推理引擎 |
Phi 4 | 14B | 微软研究院 | 数学推理专项优化 |
Qwen2.5 | 0.5B-72B | 阿里巴巴 | 中文优化长文本支持 |
Code Llama | 7B-70B | Meta AI | 代码生成专用模型 |
查看完整模型列表:
litgpt download list
六大核心工作流详解
1. 模型微调实战(以金融数据集为例)
# 下载金融问答数据集
curl -L https://huggingface.co/datasets/ksaw008/finance_alpaca/resolve/main/finance_alpaca.json -o finance_data.json
# 启动微调(自动下载phi-2基础模型)
litgpt finetune microsoft/phi-2 \
--data JSON \
--data.json_path finance_data.json \
--out_dir finetuned_phi2_finance
# 测试微调后模型
litgpt chat finetuned_phi2_finance/final
技术亮点:
-
支持LoRA/QLoRA高效微调 -
适配自定义JSON/CSV数据集 -
自动验证集分割( --data.val_split_fraction 0.1
)
2. 模型部署生产化
# 部署基础模型
litgpt serve microsoft/phi-2
# 部署微调后模型
litgpt serve finetuned_phi2_finance/final
API调用示例:
import requests
response = requests.post(
"http://localhost:8000/predict",
json={"prompt": "美股今日走势预测"}
)
print(response.json()["output"])
3. 模型能力评估
litgpt evaluate microsoft/phi-2 --tasks 'truthfulqa_mc2,mmlu'
评估指标包含:
-
事实准确性(TruthfulQA) -
多学科知识理解(MMLU) -
代码能力(HumanEval)
4. 交互式测试
litgpt chat meta-llama/Llama-3.2-3B-Instruct
>> 用户:解释量子纠缠现象
>> 模型:量子纠缠是指两个粒子...
5. 从零预训练
# 准备语料
mkdir custom_texts
curl https://www.gutenberg.org/cache/epub/24440/pg24440.txt -o custom_texts/book1.txt
# 启动预训练
litgpt pretrain EleutherAI/pythia-160m \
--data TextFiles \
--data.train_data_path "custom_texts/" \
--train.max_tokens 10_000_000
6. 增量预训练
litgpt pretrain EleutherAI/pythia-160m \
--initial_checkpoint_dir EleutherAI/pythia-160m \
--data TextFiles \
--data.train_data_path "medical_corpus/"
七大核心技术特性
-
极致性能优化
-
Flash Attention v2加速注意力计算 -
FSDP多GPU分布式训练 -
TPU/XLA硬件加速支持
-
-
显存压缩技术
graph LR A[FP32 默认精度] -->|压缩4倍| B[FP16] B -->|再压缩2倍| C[INT8] C -->|极致压缩| D[NF4 4-bit]
-
参数高效微调
技术 显存占用 训练速度 适用场景 全参数微调 100% 慢 计算资源充足 LoRA 30-50% 快 单卡微调 QLoRA 10-25% 中等 消费级GPU Adapter 20-40% 快 多任务切换 -
企业级训练配方
# config_hub/finetune/llama-7b/qlora.yaml checkpoint_dir: meta-llama/Llama-2-7b-hf quantize: bnb.nf4 # 4-bit量化 lora_r: 8 # LoRA秩 lora_alpha: 16 data: class_path: litgpt.data.Alpaca2k train: global_batch_size: 8 micro_batch_size: 1
-
无缝生态集成
-
支持HuggingFace模型直接加载 -
兼容PyTorch Lightning生态 -
ONNX/TensorRT导出支持
-
-
多场景数据集适配
数据类型 处理方式 示例命令参数 指令微调 Alpaca格式 --data Alpaca
纯文本 目录文本聚合 --data TextFiles
自定义JSON 指定字段映射 --data JSON --data.key prompt
-
生产级部署
-
动态批处理 -
流式响应 -
自适应量化
-
真实应用案例
案例1:TinyLlama 1.1B训练
# 启动300M参数模型预训练
litgpt pretrain TinyLlama/tinyllama-1.1b \
--train.max_tokens 3_000_000_000 \
--devices 8 # 8卡并行
案例2:医疗问答微调
litgpt finetune meta-llama/Llama-2-7b-hf \
--data JSON \
--data.json_path medical_qa.json \
--adapter lora \
--quantize nf4-dq
案例3:代码生成服务部署
litgpt serve Salesforce/codegen-350M-mono \
--port 8080 \
--quantize int8
常见问题解答
Q1:需要多少显存才能运行70B模型?
A:通过4-bit量化,70B模型可在单张40GB GPU(如A100)运行:
litgpt chat meta-llama/Llama-2-70b-chat --quantize nf4
Q2:如何适配中文数据集?
A:使用自定义JSON加载:
litgpt finetune Qwen/qwen1.5-7b \
--data JSON \
--data.json_path chinese_data.json \
--data.key "instruction"
Q3:训练中断如何恢复?
A:检查点自动保存,使用--resume
参数:
litgpt pretrain --resume out/checkpoint/latest.ckpt
Q4:是否支持多机训练?
A:支持千卡级FSDP分布式训练:
# 32节点 x 8 GPU
litgpt pretrain \
--devices 8 \
--num_nodes 32 \
--strategy fsdp
开始你的大模型之旅
# 1. 安装
pip install 'litgpt[all]'
# 2. 查看可用模型
litgpt download list
# 3. 下载Llama 3
litgpt download meta-llama/Llama-3.1-8B
# 4. 启动交互测试
litgpt chat meta-llama/Llama-3.1-8B
项目地址:https://github.com/Lightning-AI/litgpt
技术支持:Discord社区 https://discord.gg/VptPCZkGNa
加入全球5000+开发者社区,掌握企业级大模型全栈技术