ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Yi:从零训练的双语开源大语言模型实战指南

Yi:从零训练的双语开源大语言模型实战指南 Yi从零训练的双语开源大语言模型实战指南【免费下载链接】YiA series of large language models trained from scratch by developers 01-ai项目地址: https://gitcode.com/GitHub_Trending/yi/YiYi 是 01.AI 从零开始训练的双语中英开源大语言模型覆盖 6B、9B、34B 等参数规模并提供了 Base、Chat 以及 200K 长上下文三类变体。仓库不仅托管模型权重还内置推理演示、SFT 微调与 AWQ/GPTQ 量化的可运行脚本。本文面向有 Python 基础、准备在本地部署或二次开发 Yi 的开发者带你从安装一路做到微调与量化。一、快速上手 先确认运行环境Python 3.10 及以上资源充足例如单卡 A800 80GB可用 pip、Docker 或 conda-lock 方式部署资源有限例如 16GB 内存的 MacBook Pro建议走 llama.cpp 量化路线。克隆仓库并安装依赖git clone https://gitcode.com/GitHub_Trending/yi/Yi cd Yi pip install -r requirements.txt模型权重与 tokenizer 可从 Hugging Face01-ai 组织页、ModelScope、WiseModel 三个渠道获取。装好后创建quick_start.py跑一遍聊天推理终端出现类似Hello! How can I assist you today?的输出即代表环境就绪。二、能力清单 模型类别覆盖型号定位关键参数Base 模型Yi-6B / 9B / 34B预训练底座供微调默认上下文 4KChat 模型Yi-6B-Chat / 34B-Chat对话推理SFT 训练回复风格更多样长文本模型各系列 200K 版长文档理解约 40 万汉字量化版本4bitsAWQ/ 8bitsGPTQ消费级 GPU 部署3090、4090 可用多模态Yi-VL-6B / 34B图文理解仓库VL/目录6B 系列适合个人与学术使用9B 系列在 Yi 家族中代码与数学能力最强由 6B 继续训练 0.8T tokens 得到34B 系列对个人、学术和中小企业商用都友好。全量模型显存门槛较高例如 Yi-34B-Chat 最低 72GBYi-34B-200K 最低 200GB量化后显著降低Yi-6B-Chat-4bits 最低仅需 4GB。三、生成流程从输入到输出的核心链路只有三步提示词prompt → AutoTokenizer 分词Chat 模型先经 apply_chat_template 套对话模板 → model.generate() 在 GPU 上生成 → tokenizer.decode() 还原为文本回复Chat 模型输入按role/content消息列表组织add_generation_promptTrue会自动补上生成引导。Base 模型输入为纯文本 prompt走续写completion模式。超长输入可开启张量并行把模型切分到多张卡上推理。四、核心用法Chat 模型本地推理最小可运行的quick_start.pyA800 80GB 上跑 Yi-34B-Chatfrom transformers import AutoModelForCausalLM, AutoTokenizer model_path your-model-path # 替换为你下载的权重路径 tokenizer AutoTokenizer.from_pretrained(model_path, use_fastFalse) model AutoModelForCausalLM.from_pretrained( # transformers 4.35.0 起可直接加载 GPTQ/AWQ 量化模型 model_path, device_mapauto, torch_dtypeauto ).eval() messages [{role: user, content: hi}] # 多轮对话在此追加消息 input_ids tokenizer.apply_chat_template( conversationmessages, tokenizeTrue, add_generation_promptTrue, return_tensorspt ) output_ids model.generate(input_ids.to(cuda)) response tokenizer.decode(output_ids[0][input_ids.shape[1]:], skip_special_tokensTrue) print(response)运行python quick_start.py即可看到模型回复。Base 模型文本生成仓库demo/目录自带脚本直接调用即可python demo/text_generation.py --model your-model-path # --prompt 可更换提示词输入超长序列时可用双卡张量并行加速避免显存不足torchrun --nproc_per_node 2 \ demo/text_generation_tp.py \ --model 01-ai/Yi-6B \ --max-tokens 512 --eos-token $\n --streamingWeb 演示界面仅 Chat 模型支持该功能Base 模型不支持。启动后按控制台输出的网址打开浏览器python demo/web_demo.py -c 你的模型路径llama.cpp 本地低配运行适合 MacBook Pro16GB、M2 Pro 这类设备运行量化后的 Yi-chat-6B-2bits。前提是先装好git-lfs# 只拉取仓库指针再单独下载 GGUF 权重 GIT_LFS_SKIP_SMUDGE1 git clone https://huggingface.co/XeIaso/yi-chat-6B-GGUF git-lfs pull --include yi-chat-6b.Q2_K.gguf编译 llama.cpp 后终端推理make -j4 ./main -m 模型文件路径/yi-chat-6b.Q2_K.gguf -p 你的问题 -n 384 -e也可以起一个 Web 聊天服务浏览器访问http://0.0.0.0:8080./server --ctx-size 2048 --host 0.0.0.0 --n-gpu-layers 64 \ --model 模型文件路径/yi-chat-6b.Q2_K.gguf五、进阶特性 ️SFT 微调 Base 模型触发条件拿到 Base 模型权重并准备jsonl格式数据集每行形如{prompt: Human: Who are you? Assistant:, chosen: Im Yi.}示例数据在 finetune/yi_example_dataset/。硬件参考Yi-6B 建议 4 卡、每卡显存大于 60GBYi-34B 建议 8 卡 80GB 节点用CUDA_VISIBLE_DEVICES0,1,2,3限制实际参与训练的卡数CPU 内存大于 900GB。运行Docker 方式挂载自定义数据后执行 SFT 脚本本地方式可先建 conda 环境torch2.0.1 deepspeed0.10 tensorboard transformers datasets sentencepiece accelerate ray2.7。bash finetune/scripts/run_sft_Yi_6b.sh # 6B 约 20 分钟产出 Chat 模型 bash finetune/scripts/run_eval.sh # 对比 Base 与微调后的回复AWQ 与 GPTQ 量化触发条件拿到 Base 模型权重使用 quantization/ 下的脚本两者都属于后训练量化PTQAWQ 走 INT3/INT4 权重量化GPTQ 侧重省显存与提速。支持的入口quantization/awq/quant_autoawq.pyAWQ、quantization/gptq/quant_autogptq.pyGPTQ量化后用同目录的eval_quantized_model.py评估。代码片段python quantization/awq/quant_autoawq.py \ --model /base_model --output_dir /quantized_model \ --bits 4 --group_size 128 --trust_remote_code python quantization/awq/eval_quantized_model.py \ --model /quantized_model --trust_remote_codeGPTQ 侧把脚本换成quantization/gptq/quant_autogptq.py与对应的eval_quantized_model.py即可参数一致。量化模型部署还需安装 AWQ 或 GPTQ 的推理依赖含 CUDA。Yi-VL 多模态推理触发条件下载 Yi-VL-6B 或 Yi-VL-34B 权重进入 VL/ 目录配置环境。支持项单图问答single_inference.py、命令行对话cli.py、Web 演示web_demo.py、OpenAI 风格 APIopenai_api.py。代码片段cd VL export PYTHONPATH$PYTHONPATH:$(pwd) pip install -r requirements.txt CUDA_VISIBLE_DEVICES0 python single_inference.py \ --model-path Yi-VL 权重路径 \ --image-file images/cats.jpg \ --question Describe the cats and what they are doing in detail.六、目录速览Yi/ ├── demo/ # 文本生成与 Web 演示脚本 ├── finetune/ # SFT 微调脚本、示例数据与工具模块 ├── quantization/ # AWQ / GPTQ 量化与评估脚本 ├── VL/ # Yi-VL 多模态推理single_inference / cli / web_demo / openai_api ├── Cookbook/ # 中英文教程与 NotebookRAG、函数调用、本地部署 ├── docs/ # llama.cpp 本地部署教程 ├── requirements.txt # 依赖清单 ├── Dockerfile # 官方镜像构建 ├── conda-lock.yml # 可复现 conda 环境 ├── LICENSE # Apache 2.0 └── MODEL_LICENSE_AGREEMENT.txt # 模型社区许可七、延伸阅读finetune/README.md微调数据准备、硬件配置与评估的完整说明。quantization/awq/README.mdAWQ 量化的逐步教程。quantization/gptq/README.mdGPTQ 量化的逐步教程。docs/README_llama.cpp.mdllama.cpp 本地部署量化模型的完整教程。Cookbook/README_cn.mdYi Cookbook 中文教程索引含 RAG、函数调用、本地运行。VL/README.mdYi-VL 多模态推理与 API 用法。MODEL_LICENSE_AGREEMENT.txt模型权重许可条款代码遵循 LICENSEApache 2.0。性能方面可参考仓库 README 中的结论Yi-34B-Chat 曾在 AlpacaEval 排行榜位列第二仅次于 GPT-4 TurboYi-34B 在 C-Eval 等基准上中英双语均居当时开源模型首位。更完整的训练细节与评测方法见 Yi 技术报告arXiv:2403.04652。【免费下载链接】YiA series of large language models trained from scratch by developers 01-ai项目地址: https://gitcode.com/GitHub_Trending/yi/Yi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表