[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-allenai--open-instruct":3,"tool-allenai--open-instruct":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",151314,2,"2026-04-11T23:32:58",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":77,"owner_twitter":76,"owner_website":78,"owner_url":79,"languages":80,"stars":112,"forks":113,"last_commit_at":114,"license":115,"difficulty_score":116,"env_os":117,"env_gpu":118,"env_ram":119,"env_deps":120,"category_tags":134,"github_topics":76,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":135,"updated_at":136,"faqs":137,"releases":166},6822,"allenai\u002Fopen-instruct","open-instruct","AllenAI's post-training codebase","open-instruct 是 AllenAI 推出的开源项目，专注于大语言模型的指令微调与后期训练。它旨在解决开发者在利用公开数据集优化预训练模型时，面临的技术流程复杂、代码分散以及难以复现前沿成果的痛点。\n\n该项目提供了一套统一的代码框架，不仅支持使用最新技术和多样化指令数据集进行监督微调（SFT），还集成了直接偏好优化（DPO）、基于可验证奖励的强化学习（RLVR）等高级对齐技术。作为著名的 Tülu 系列模型（如 Tülu 3）的训练基石，open-instruct 将学术界关于从偏好反馈中学习的最佳实践转化为可执行的工程代码，并持续更新相关检查点。\n\nopen-instruct 非常适合 AI 研究人员、算法工程师以及希望深入探索模型对齐技术的开发者使用。无论是想要复现论文结果、构建专属领域的指令跟随模型，还是研究 DPO 与 PPO 等算法的实际效果，都能从中获得高效、透明的技术支持。通过该项目，社区能够更轻松地站在巨人的肩膀上，推动开放语言模型能力的边界。","[![Beaker Experiment Launch](https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Factions\u002Fworkflows\u002Fbeaker-experiment.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Factions\u002Fworkflows\u002Fbeaker-experiment.yml)\n\n# Training Open Instruction-Following Language Models\n\nThis repo serves as an open effort on instruction-tuning and post-training popular pretrained language models on publicly available datasets. We release this repo and will keep updating it with:\n\n1. Code for finetuning language models with latest techniques and instruction datasets in a unified format.\n2. Code for DPO, preference finetuning and reinforcement learning with verifiable rewards (RLVR).\n3. Checkpoints or other useful artifacts that we build in our exploration.\n\nWe also support some evaluations natively in the codebase, but these are now unmaintained and instead we suggest using [OLMES](https:\u002F\u002Fgithub.com\u002Fallenai\u002Folmes), which we used for TÜLU 3.\n\nThe latest details on open post-training are found in [TÜLU 3: Pushing Frontiers in Open Language Model Post-Training](https:\u002F\u002Farxiv.org\u002Fabs\u002F2411.15124).\n\nPlease see our first paper [How Far Can Camels Go? Exploring the State of Instruction Tuning on Open Resources](https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.04751) for more thoughts behind this project and our initial findings.\nPlease see our second paper [Camels in a Changing Climate: Enhancing LM Adaptation with Tulu 2](https:\u002F\u002Farxiv.org\u002Fabs\u002F2311.10702) for results using Llama-2 models and direct preference optimization. We are still working on more models.\nFor more recent results involving PPO and DPO please see our third paper [Unpacking DPO and PPO: Disentangling Best Practices for Learning from Preference Feedback](https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.09279).\n\n\u003Cp align=\"center\" width=\"100%\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fallenai_open-instruct_readme_23f5c249033e.png\" alt=\"Tülu (a hybrid camel) represents a suite of LLaMa models that we built by fully-finetuning them on a strong mix of datasets.\" style=\"width: 20%; min-width: 200px; display: block; margin: auto;\">\n\u003C\u002Fp>\n\nTry some of the models we train with Open Instruct. There is a [free demo](https:\u002F\u002Fplayground.allenai.org\u002F) or download them from HuggingFace:\n\n| **Stage**           | **Llama 3.1 8B**                                                                                          | **Llama 3.1 70B**                                                                                         | **OLMo-2 7B**                                                                                          | **OLMo-2 13B**                                                                                         |\n|----------------------|----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|\n| **Base Model**       | [meta-llama\u002FLlama-3.1-8B](https:\u002F\u002Fhuggingface.co\u002Fmeta-llama\u002FLlama-3.1-8B)                                | [meta-llama\u002FLlama-3.1-70B](https:\u002F\u002Fhuggingface.co\u002Fmeta-llama\u002FLlama-3.1-70B)                              | [allenai\u002FOLMo2-7B-1124](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo2-7B-1124)                                | [allenai\u002FOLMo-2-13B-1124](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-13B-1124)                             |\n| **SFT**              | [allenai\u002FLlama-3.1-Tulu-3-8B-SFT](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FLlama-3.1-Tulu-3-8B-SFT)                | [allenai\u002FLlama-3.1-Tulu-3-70B-SFT](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FLlama-3.1-Tulu-3-70B-SFT)              | [allenai\u002FOLMo-2-1124-7B-SFT](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-1124-7B-SFT)                | [allenai\u002FOLMo-2-1124-13B-SFT](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-1124-13B-SFT)              |\n| **DPO**              | [allenai\u002FLlama-3.1-Tulu-3-8B-DPO](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FLlama-3.1-Tulu-3-8B-DPO)                | [allenai\u002FLlama-3.1-Tulu-3-70B-DPO](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FLlama-3.1-Tulu-3-70B-DPO)              | [allenai\u002FOLMo-2-1124-7B-DPO](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-1124-7B-DPO)                | [allenai\u002FOLMo-2-1124-13B-DPO](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-1124-13B-DPO)              |\n| **Final Models (RLVR)** | [allenai\u002FLlama-3.1-Tulu-3-8B](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FLlama-3.1-Tulu-3-8B)                        | [allenai\u002FLlama-3.1-Tulu-3-70B](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FLlama-3.1-Tulu-3-70B)                      | [allenai\u002FOLMo-2-1124-7B-Instruct](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-1124-7B-Instruct)                        | [allenai\u002FOLMo-2-1124-13B-Instruct](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-1124-13B-Instruct)                      |\n| **Reward Model (RM)**| [allenai\u002FLlama-3.1-Tulu-3-8B-RM](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FLlama-3.1-Tulu-3-8B-RM)                                                     | (Same as 8B)                                                     | [allenai\u002FOLMo-2-1124-7B-RM](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-1124-7B-RM)                                                     | (Same as 7B)                                                     |\n\n## News\n\n- [2024-11-22] We released [TÜLU 3: Pushing Frontiers in Open Language Model Post-Training](https:\u002F\u002Farxiv.org\u002Fabs\u002F2411.15124) and updated our entire stack of open post-training recipes with both Llama 3.1 and OLMo 2.\n- [2024-07-01] We released [Unpacking DPO and PPO: Disentangling Best Practices for Learning from Preference Feedback](https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.09279) and have majorly updated our codebase to support new models and package versions.\n- [2023-11-27] We released [Camels in a Changing Climate: Enhancing LM Adaptation with Tulu 2](https:\u002F\u002Farxiv.org\u002Fabs\u002F2311.10702). Check out our models [here](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fallenai\u002Ftulu-v2-suite-6551b56e743e6349aab45101). We have added a DPO finetuning script for replicating our results.\n- [2023-09-26] We switched to use the official [alpaca-eval](https:\u002F\u002Fgithub.com\u002Ftatsu-lab\u002Falpaca_eval) library to run AlpacaFarm evaluation but use regenerated longer reference outputs. This will change our numbers reported in the paper. We will update the paper soon.\n- [2023-09-25] Supported using [vLLM](https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm\u002F) for our evaluations, which speeds up the evaluation by 10x.\n- [2023-09-17] Supported [LoRA](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.09685) and [QLoRA](https:\u002F\u002Farxiv.org\u002Fabs\u002F2305.14314) finetuning. See [here](#parameter-efficient-finetuning) for more details.\n- [2023-08-18] Added support for [ToxiGen](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTOXIGEN)\u002F[TruthfulQA](https:\u002F\u002Fgithub.com\u002Fsylinrl\u002FTruthfulQA) evaluation. Check our `scripts\u002Feval\u002F` for examples of running them.\n- [2023-08-08] Supported several new instruction dataset, including [LIMA](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FGAIR\u002Flima) \u002F [WizardLM](https:\u002F\u002Fgithub.com\u002Fnlpxucan\u002FWizardLM) \u002F [Open-Orca](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FOpen-Orca\u002FOpenOrca). See the [preparation script](.\u002Fscripts\u002Fdata\u002Fprepare_train_data.sh) for details. Performance hasn't been evaluated yet.\n- [2023-08-06] Supported LLaMa 2 finetuning and FlashAttention-2 by bumping the version of transformers and many other dependencies.\n- [2023-06-29] Added [licensing info](#licensing) for our released models.\n- [2023-06-09] Released Tülu (a suite of LLaMa models fully-finetuned on a strong mix of datasets) and many other checkpoints on HuggingFace [[Links]](#released-checkpoints).\n- [2023-06-09] Initial release of the codebase containing the training and evaluation code for our [arxiv paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.04751).\n\n## Setup\n\nOur setup follows our [Dockerfile](.\u002FDockerfile). *Note that Open Instruct is a research codebase and does not guarantee backward compatibility.*\n\n### Installation with uv\n\nWe use [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F) for installation and running code. You can install with `uv sync`.\n\n* **Git LFS** (for running tests): Install [Git LFS](https:\u002F\u002Fgit-lfs.com\u002F) and run `git lfs install` before cloning. See [CONTRIBUTING.md](CONTRIBUTING.md#git-lfs) for details.\n\n* **Docker installation**: You can also use the Dockerfile to build a Docker image. You can build the image with the following command:\n\n```bash\ndocker build . \\\n    --build-arg GIT_COMMIT=$(git rev-parse --short HEAD) \\\n\t--build-arg GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD) \\\n\t-t open_instruct_dev\n\n# if you are internally at AI2, you can create a beaker image like this:\nbeaker_user=$(beaker account whoami --format json | jq -r '.[0].name')\nbeaker image delete $beaker_user\u002Fopen_instruct_dev\nbeaker image create open_instruct_dev -n open_instruct_dev -w ai2\u002F$beaker_user\n```\n\nIf you are internally at AI2, you may launch experiments using our always-up-to-date auto-built image `nathanl\u002Fopen_instruct_auto`.\n\n\n## Training\n\nAfter having setup the environment, you are ready to launch some experiments. We provide a few examples below. To learn more about how to reproduce the Tulu 3 models, please refer to the [Tulu 3 README](.\u002Fdocs\u002Ftulu3.md). The instructions and documentations for Tulu 1 and Tulu 2 are in [Tulu 1 and 2 README](.\u002Fdocs\u002Ftulu1_tulu2.md).\n\n### Finetuning\n\nYou can run the following command for getting started:\n\n```bash\n# train an 8B tulu3 model using 8 GPU\nbash scripts\u002Ftrain\u002Ftulu3\u002Ffinetune_8b.sh\n```\n\n**OLMo-core SFT**: For supported models (OLMo, OLMoE, Qwen3), we recommend the more GPU-efficient [OLMo-core SFT implementation](https:\u002F\u002Fgithub.com\u002Fallenai\u002FOLMo-core\u002Ftree\u002Fmain\u002Fsrc\u002Fscripts\u002Ftrain\u002Fsft). See `open_instruct\u002Folmo_core_utils.py` for the list of supported models.\n\n\n### Preference Tuning\n\n```bash\n# train an 8B tulu3 model using 8 GPU\nbash scripts\u002Ftrain\u002Ftulu3\u002Fdpo_8b.sh\n```\n\n\n### Reinforcement Learning with Verifiable Rewards (RLVR)\n\n```bash\n# quick debugging run using 1 GPU (0.5 for inference, 0.5 for training)\n# here we are using a small model, so it's prob not gonna train good models, but it's easy to test run and print stuff.\nbash scripts\u002Ftrain\u002Fdebug\u002Fsingle_gpu_on_beaker.sh\n\n# train an 8B tulu3 model using 8 GPU (1 for inference, 7 for training)\nbash scripts\u002Ftrain\u002Frlvr\u002Ftulu_rlvr.sh\n```\n\n\n## Contamination checks\n\nWe release our scripts for measuring the overlap between instruction tuning datasets and evaluation datasets in `.\u002Fdecontamination`. See the [README](.\u002Fdecontamination\u002FREADME.md) for more details.\n\n### Developing\nWhen submitting a PR to this repo, we check the core code in `open_instruct\u002F` for style with the following:\n```\nmake style\nmake quality\n```\n\nRun the tests with `uv run pytest`.\n\n#### Pre-commit hooks\n\nTo automatically run linting and formatting on each commit:\n```bash\nuv add pre-commit --dev\nuv run pre-commit install\n```\n\nTo run on all files (recommended after initial setup):\n```bash\nuv run pre-commit run --all-files\n```\n\n### Repo structure\n```\n├── assets\u002F                     \u003C- Images, licenses, etc.\n├── configs\u002F\n|     ├── beaker_configs\u002F       \u003C- AI2 Beaker configs\n|     ├── ds_configs\u002F           \u003C- DeepSpeed configs\n|     └── train_configs\u002F        \u003C- Training configs\n├── decontamination\u002F            \u003C- Scripts for measuring train-eval overlap\n├── eval\u002F                       \u003C- Evaluation suite for fine-tuned models\n├── human_eval\u002F                 \u003C- Human evaluation interface (not maintained)\n├── open_instruct\u002F              \u003C- Source code (flat)\n├── quantize\u002F                   \u003C- Scripts for quantization\n├── scripts\u002F                    \u003C- Core training and evaluation scripts\n└── Dockerfile                  \u003C- Dockerfile\n```\n\n\n## Licensing\n\nThis codebase is licensed under Apache 2.0 as given in [LICENSE](.\u002FLICENSE).\n\nThe license we use for V1 models released (along with the base model licenses) can be found in [assets\u002Fmodel_licenses\u002Ftulu_license.txt](.\u002Fassets\u002Fmodel_licenses\u002Ftulu_license.txt) - just replace `\u003CMODELNAME>` with the actual model name (i.e., the name on HuggingFace).\n\nV2 models are licensed under the [low-risk AI2 ImpACT license](https:\u002F\u002Fallenai.org\u002Flicenses\u002Fimpact-lr). See [here](https:\u002F\u002Fallenai.org\u002Fimpact-license) for more details.\n\n\n## Acknowledgements\n\nOpen Instruct is a project that benefited from many open-source projects and libraries. We would like to particularly thank the following projects:\n\n* [HuggingFace Transformers](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers): We adapted Hugging Face's Trainer for our finetuning scripts.\n* [HuggingFace TRL](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftrl) and [eric-mitchell\u002Fdirect-preference-optimization](https:\u002F\u002Fgithub.com\u002Feric-mitchell\u002Fdirect-preference-optimization): our preference tuning code is adapted from TRL and from Eric Mitchell's DPO code.\n* OpenAI's [lm-human-preferences](https:\u002F\u002Fgithub.com\u002Fopenai\u002Flm-human-preferences), [summarize-from-feedback](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fsummarize-from-feedback), and [vwxyzjn\u002Fsummarize_from_feedback_details](https:\u002F\u002Fgithub.com\u002Fvwxyzjn\u002Fsummarize_from_feedback_details): Our core PPO code is adapted from OpenAI's original RLHF code and [Huang et al (2024)'s reproduction work](https:\u002F\u002Fopenreview.net\u002Fforum?id=kHO2ZTa8e3) of OpenAI's summarize from feedback work.\n* [OpenRLHF](https:\u002F\u002Fgithub.com\u002FOpenRLHF\u002FOpenRLHF): We adapted OpenRLHF's Ray + vLLM distributed code for scaling up PPO RLVR training into the 70B scale.\n\n## Citation\n\nIf you used this repository or our models, please cite our work:\n\nTulu 1:\n```bibtex\n@misc{wang2023far,\n   title={How Far Can Camels Go? Exploring the State of Instruction Tuning on Open Resources},\n   author={Yizhong Wang and Hamish Ivison and Pradeep Dasigi and Jack Hessel and Tushar Khot and Khyathi Raghavi Chandu and David Wadden and Kelsey MacMillan and Noah A. Smith and Iz Beltagy and Hannaneh Hajishirzi},\n   year={2023},\n   eprint={2306.04751},\n   archivePrefix={arXiv},\n   primaryClass={cs.CL}\n}\n```\n\nTulu 2:\n```bibtex\n@misc{ivison2023camels,\n      title={Camels in a Changing Climate: Enhancing LM Adaptation with Tulu 2},\n      author={Hamish Ivison and Yizhong Wang and Valentina Pyatkin and Nathan Lambert and Matthew Peters and Pradeep Dasigi and Joel Jang and David Wadden and Noah A. Smith and Iz Beltagy and Hannaneh Hajishirzi},\n      year={2023},\n      eprint={2311.10702},\n      archivePrefix={arXiv},\n      primaryClass={cs.CL}\n}\n```\n\nTulu 2.5:\n```bibtex\n@misc{ivison2024unpacking,\n      title={Unpacking DPO and PPO: Disentangling Best Practices for Learning from Preference Feedback},\n      author={Hamish Ivison and Yizhong Wang and Jiacheng Liu and Zeqiu Wu and Valentina Pyatkin and Nathan Lambert and Noah A. Smith and Yejin Choi and Hannaneh Hajishirzi},\n      year={2024},\n      eprint={2406.09279},\n      archivePrefix={arXiv},\n      primaryClass={cs.CL},\n}\n```\n\nTulu 3:\n```bibtex\n@article{lambert2024tulu3,\n  title = {Tülu 3: Pushing Frontiers in Open Language Model Post-Training},\n  author = {\n    Nathan Lambert and Jacob Morrison and Valentina Pyatkin and Shengyi Huang and Hamish Ivison and Faeze Brahman and Lester James V. Miranda and Alisa Liu and Nouha Dziri and Shane Lyu and Yuling Gu and Saumya Malik and Victoria Graf and Jena D. Hwang and Jiangjiang Yang and Ronan Le Bras and Oyvind Tafjord and Chris Wilhelm and Luca Soldaini and Noah A. Smith and Yizhong Wang and Pradeep Dasigi and Hannaneh Hajishirzi\n  },\n  year = {2024},\n  email = {tulu@allenai.org}\n}\n```\n\nOLMo 3:\n```bibtex\n@misc{olmo2025olmo3,\n      title={OLMo 3},\n      author={Team OLMo and Allyson Ettinger and Amanda Bertsch and Bailey Kuehl and David Graham and David Heineman and Dirk Groeneveld and Faeze Brahman and Finbarr Timbers and Hamish Ivison and Jacob Morrison and Jake Poznanski and Kyle Lo and Luca Soldaini and Matt Jordan and Mayee Chen and Michael Noukhovitch and Nathan Lambert and Pete Walsh and Pradeep Dasigi and Robert Berry and Saumya Malik and Saurabh Shah and Scott Geng and Shane Arora and Shashank Gupta and Taira Anderson and Teng Xiao and Tyler Murray and Tyler Romero and Victoria Graf and Akari Asai and Akshita Bhagia and Alexander Wettig and Alisa Liu and Aman Rangapur and Chloe Anastasiades and Costa Huang and Dustin Schwenk and Harsh Trivedi and Ian Magnusson and Jaron Lochner and Jiacheng Liu and Lester James V. Miranda and Maarten Sap and Malia Morgan and Michael Schmitz and Michal Guerquin and Michael Wilson and Regan Huff and Ronan Le Bras and Rui Xin and Rulin Shao and Sam Skjonsberg and Shannon Zejiang Shen and Shuyue Stella Li and Tucker Wilde and Valentina Pyatkin and Will Merrill and Yapei Chang and Yuling Gu and Zhiyuan Zeng and Ashish Sabharwal and Luke Zettlemoyer and Pang Wei Koh and Ali Farhadi and Noah A. Smith and Hannaneh Hajishirzi},\n      year={2025},\n      eprint={2512.13961},\n      archivePrefix={arXiv},\n      primaryClass={cs.CL},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2512.13961},\n}\n```\n","[![Beaker实验启动](https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Factions\u002Fworkflows\u002Fbeaker-experiment.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Factions\u002Fworkflows\u002Fbeaker-experiment.yml)\n\n# 训练开放的指令遵循语言模型\n\n本仓库致力于在公开可用的数据集上对流行的预训练语言模型进行指令微调和后训练的开放性研究。我们发布此仓库，并将持续更新以下内容：\n\n1. 使用最新技术和统一格式的指令数据集对语言模型进行微调的代码。\n2. 用于DPO、偏好微调以及可验证奖励强化学习（RLVR）的代码。\n3. 我们在探索过程中构建的检查点或其他有用成果。\n\n我们还在代码库中原生支持一些评估，但这些评估目前已不再维护。我们建议使用 [OLMES](https:\u002F\u002Fgithub.com\u002Fallenai\u002Folmes)，该工具曾被用于 TÜLU 3 的评估。\n\n有关开放后训练的最新详情，请参阅 [TÜLU 3：推动开放语言模型后训练的前沿](https:\u002F\u002Farxiv.org\u002Fabs\u002F2411.15124)。\n\n请参阅我们的第一篇论文 [骆驼能走多远？探索开放资源上的指令微调现状](https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.04751)，以了解该项目背后的更多思考及初步发现。  \n请参阅我们的第二篇论文 [气候变化中的骆驼：利用 Tulu 2 提升语言模型适应能力](https:\u002F\u002Farxiv.org\u002Fabs\u002F2311.10702)，以获取使用 Llama-2 模型和直接偏好优化的结果。我们仍在继续探索更多模型。\n\n如需了解涉及 PPO 和 DPO 的最新成果，请参阅我们的第三篇论文 [解析 DPO 和 PPO：拆解从偏好反馈中学习的最佳实践](https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.09279)。\n\n\u003Cp align=\"center\" width=\"100%\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fallenai_open-instruct_readme_23f5c249033e.png\" alt=\"Tülu（一种混合骆驼）代表我们通过在强大数据集组合上进行全面微调而构建的一系列 LLaMa 模型。\" style=\"width: 20%; min-width: 200px; display: block; margin: auto;\">\n\u003C\u002Fp>\n\n尝试使用 Open Instruct 训练的一些模型吧！您可以在 [免费演示](https:\u002F\u002Fplayground.allenai.org\u002F) 中体验，或从 HuggingFace 下载：\n\n| **阶段**           | **Llama 3.1 8B**                                                                                          | **Llama 3.1 70B**                                                                                         | **OLMo-2 7B**                                                                                          | **OLMo-2 13B**                                                                                         |\n|----------------------|----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|\n| **基础模型**       | [meta-llama\u002FLlama-3.1-8B](https:\u002F\u002Fhuggingface.co\u002Fmeta-llama\u002FLlama-3.1-8B)                                | [meta-llama\u002FLlama-3.1-70B](https:\u002F\u002Fhuggingface.co\u002Fmeta-llama\u002FLlama-3.1-70B)                              | [allenai\u002FOLMo2-7B-1124](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo2-7B-1124)                                | [allenai\u002FOLMo-2-13B-1124](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-13B-1124)                             |\n| **SFT**              | [allenai\u002FLlama-3.1-Tulu-3-8B-SFT](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FLlama-3.1-Tulu-3-8B-SFT)                | [allenai\u002FLlama-3.1-Tulu-3-70B-SFT](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FLlama-3.1-Tulu-3-70B-SFT)              | [allenai\u002FOLMo-2-1124-7B-SFT](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-1124-7B-SFT)                | [allenai\u002FOLMo-2-1124-13B-SFT](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-1124-13B-SFT)              |\n| **DPO**              | [allenai\u002FLlama-3.1-Tulu-3-8B-DPO](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FLlama-3.1-Tulu-3-8B-DPO)                | [allenai\u002FLlama-3.1-Tulu-3-70B-DPO](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FLlama-3.1-Tulu-3-70B-DPO)              | [allenai\u002FOLMo-2-1124-7B-DPO](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-1124-7B-DPO)                | [allenai\u002FOLMo-2-1124-13B-DPO](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-1124-13B-DPO)              |\n| **最终模型（RLVR）** | [allenai\u002FLlama-3.1-Tulu-3-8B](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FLlama-3.1-Tulu-3-8B)                        | [allenai\u002FLlama-3.1-Tulu-3-70B](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FLlama-3.1-Tulu-3-70B)                      | [allenai\u002FOLMo-2-1124-7B-Instruct](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-1124-7B-Instruct)                        | [allenai\u002FOLMo-2-1124-13B-Instruct](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-1124-13B-Instruct)                      |\n| **奖励模型（RM）**| [allenai\u002FLlama-3.1-Tulu-3-8B-RM](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FLlama-3.1-Tulu-3-8B-RM)                                                     | (与8B相同)                                                     | [allenai\u002FOLMo-2-1124-7B-RM](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-2-1124-7B-RM)                                                     | (与7B相同)                                                     |\n\n## 新闻\n\n- [2024-11-22] 我们发布了 [TÜLU 3: 推动开源语言模型后训练的边界](https:\u002F\u002Farxiv.org\u002Fabs\u002F2411.15124)，并使用 Llama 3.1 和 OLMo 2 更新了我们完整的开源后训练方案。\n- [2024-07-01] 我们发布了 [解析 DPO 和 PPO：拆解基于偏好反馈的学习最佳实践](https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.09279)，并对代码库进行了重大更新，以支持新模型和软件包版本。\n- [2023-11-27] 我们发布了 [气候变化中的骆驼：借助 Tulu 2 提升语言模型适应能力](https:\u002F\u002Farxiv.org\u002Fabs\u002F2311.10702)。请在此处查看我们的模型：[链接](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fallenai\u002Ftulu-v2-suite-6551b56e743e6349aab45101)。我们新增了一个用于复现实验结果的 DPO 微调脚本。\n- [2023-09-26] 我们改用官方的 [alpaca-eval](https:\u002F\u002Fgithub.com\u002Ftatsu-lab\u002Falpaca_eval) 库来运行 AlpacaFarm 评估，但使用重新生成的更长参考输出。这将改变论文中报告的指标。我们将在近期更新论文。\n- [2023-09-25] 支持使用 [vLLM](https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm\u002F) 进行评估，使评估速度提升了 10 倍。\n- [2023-09-17] 支持 [LoRA](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.09685) 和 [QLoRA](https:\u002F\u002Farxiv.org\u002Fabs\u002F2305.14314) 微调。更多详情请参见 [此处](#parameter-efficient-finetuning)。\n- [2023-08-18] 增加了对 [ToxiGen](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTOXIGEN)\u002F[TruthfulQA](https:\u002F\u002Fgithub.com\u002Fsylinrl\u002FTruthfulQA) 评估的支持。可在 `scripts\u002Feval\u002F` 中找到运行这些评估的示例。\n- [2023-08-08] 支持了几种新的指令数据集，包括 [LIMA](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FGAIR\u002Flima) \u002F [WizardLM](https:\u002F\u002Fgithub.com\u002Fnlpxucan\u002FWizardLM) \u002F [Open-Orca](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FOpen-Orca\u002FOpenOrca)。详细信息请参阅 [准备脚本](.\u002Fscripts\u002Fdata\u002Fprepare_train_data.sh)。目前尚未评估其性能。\n- [2023-08-06] 通过升级 transformers 及其他依赖库的版本，支持 LLaMa 2 微调和 FlashAttention-2。\n- [2023-06-29] 为我们发布的模型添加了 [许可信息](#licensing)。\n- [2023-06-09] 在 HuggingFace 上发布了 Tülu（一套在强大混合数据集上完全微调的 LLaMa 模型）及其他多个检查点 [[链接]](#released-checkpoints)。\n- [2023-06-09] 初次发布包含我们 [arxiv 论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.04751) 训练与评估代码的代码库。\n\n## 设置\n\n我们的设置遵循我们的 [Dockerfile](.\u002FDockerfile)。*请注意，Open Instruct 是一个研究性代码库，不保证向后兼容性。*\n\n### 使用 uv 安装\n\n我们使用 [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F) 来安装和运行代码。您可以通过 `uv sync` 进行安装。\n\n* **Git LFS**（用于运行测试）：在克隆之前，请先安装 [Git LFS](https:\u002F\u002Fgit-lfs.com\u002F) 并运行 `git lfs install`。详情请参阅 [CONTRIBUTING.md](CONTRIBUTING.md#git-lfs)。\n\n* **Docker 安装**：您也可以使用 Dockerfile 构建 Docker 镜像。可使用以下命令构建镜像：\n\n```bash\ndocker build . \\\n    --build-arg GIT_COMMIT=$(git rev-parse --short HEAD) \\\n\t--build-arg GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD) \\\n\t-t open_instruct_dev\n\n# 如果您在 AI2 内部工作，可以按如下方式创建 Beaker 镜像：\nbeaker_user=$(beaker account whoami --format json | jq -r '.[0].name')\nbeaker image delete $beaker_user\u002Fopen_instruct_dev\nbeaker image create open_instruct_dev -n open_instruct_dev -w ai2\u002F$beaker_user\n```\n\n如果您在 AI2 内部工作，可以使用我们始终最新构建的自动镜像 `nathanl\u002Fopen_instruct_auto` 来启动实验。\n\n## 训练\n\n环境搭建完成后，您就可以开始进行一些实验了。我们提供以下几个示例。如需了解更多关于如何复现 Tulu 3 模型的信息，请参阅 [Tulu 3 README](.\u002Fdocs\u002Ftulu3.md)。Tulu 1 和 Tulu 2 的说明及文档请参见 [Tulu 1 和 2 README](.\u002Fdocs\u002Ftulu1_tulu2.md)。\n\n### 微调\n\n您可以运行以下命令开始：\n\n```bash\n# 使用 8 张 GPU 卡训练一个 8B 的 tulu3 模型\nbash scripts\u002Ftrain\u002Ftulu3\u002Ffinetune_8b.sh\n```\n\n**OLMo-core SFT**：对于支持的模型（OLMo、OLMoE、Qwen3），我们推荐更节省 GPU 资源的 [OLMo-core SFT 实现](https:\u002F\u002Fgithub.com\u002Fallenai\u002FOLMo-core\u002Ftree\u002Fmain\u002Fsrc\u002Fscripts\u002Ftrain\u002Fsft)。支持的模型列表请参见 `open_instruct\u002Folmo_core_utils.py`。\n\n### 偏好优化\n\n```bash\n# 使用 8 张 GPU 卡训练一个 8B 的 tulu3 模型\nbash scripts\u002Ftrain\u002Ftulu3\u002Fdpo_8b.sh\n```\n\n### 基于可验证奖励的强化学习 (RLVR)\n\n```bash\n# 使用 1 张 GPU 卡进行快速调试（0.5 用于推理，0.5 用于训练）\n# 由于我们使用的是小型模型，可能无法训练出高质量的模型，但便于测试运行和输出日志。\nbash scripts\u002Ftrain\u002Fdebug\u002Fsingle_gpu_on_beaker.sh\n\n# 使用 8 张 GPU 卡训练一个 8B 的 tulu3 模型（1 张用于推理，7 张用于训练）\nbash scripts\u002Ftrain\u002Frlvr\u002Ftulu_rlvr.sh\n```\n\n## 污染检测\n\n我们发布了用于测量指令微调数据集与评估数据集之间重叠度的脚本，位于 `.\u002Fdecontamination` 目录下。更多详情请参阅 [README](.\u002Fdecontamination\u002FREADME.md)。\n\n### 开发\n当向此仓库提交 PR 时，我们会对 `open_instruct\u002F` 中的核心代码进行以下风格检查：\n```\nmake style\nmake quality\n```\n\n使用 `uv run pytest` 运行测试。\n\n#### 预提交钩子\n\n要让每次提交时自动运行 lint 和格式化：\n```bash\nuv add pre-commit --dev\nuv run pre-commit install\n```\n\n要在所有文件上运行（建议在初始设置后执行）：\n```bash\nuv run pre-commit run --all-files\n```\n\n### 仓库结构\n```\n├── assets\u002F                     \u003C- 图片、许可证等。\n├── configs\u002F\n|     ├── beaker_configs\u002F       \u003C- AI2 Beaker 配置\n|     ├── ds_configs\u002F           \u003C- DeepSpeed 配置\n|     └── train_configs\u002F        \u003C- 训练配置\n├── decontamination\u002F            \u003C- 用于测量训练-评估重叠度的脚本\n├── eval\u002F                       \u003C- 微调模型的评估套件\n├── human_eval\u002F                 \u003C- 人工评估界面（未维护）\n├── open_instruct\u002F              \u003C- 源代码（扁平化）\n├── quantize\u002F                   \u003C- 量化脚本\n├── scripts\u002F                    \u003C- 核心训练和评估脚本\n└── Dockerfile                  \u003C- Dockerfile\n```\n\n\n## 许可证\n\n本代码库采用 Apache 2.0 许可证，详见 [LICENSE](.\u002FLICENSE)。\n\n我们为已发布的 V1 模型所使用的许可证（连同基础模型许可证）可在 [assets\u002Fmodel_licenses\u002Ftulu_license.txt](.\u002Fassets\u002Fmodel_licenses\u002Ftulu_license.txt) 中找到——只需将 `\u003CMODELNAME>` 替换为实际模型名称（即 HuggingFace 上的名称）。\n\nV2 模型则采用 [低风险 AI2 ImpACT 许可证](https:\u002F\u002Fallenai.org\u002Flicenses\u002Fimpact-lr)。更多详情请参见 [此处](https:\u002F\u002Fallenai.org\u002Fimpact-license)。\n\n## 致谢\n\nOpen Instruct 项目受益于众多开源项目和库。我们特别感谢以下项目：\n\n* [HuggingFace Transformers](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers)：我们基于 Hugging Face 的 Trainer 对我们的微调脚本进行了适配。\n* [HuggingFace TRL](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftrl) 和 [eric-mitchell\u002Fdirect-preference-optimization](https:\u002F\u002Fgithub.com\u002Feric-mitchell\u002Fdirect-preference-optimization)：我们的偏好优化代码改编自 TRL 以及 Eric Mitchell 的 DPO 代码。\n* OpenAI 的 [lm-human-preferences](https:\u002F\u002Fgithub.com\u002Fopenai\u002Flm-human-preferences)、[summarize-from-feedback](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fsummarize-from-feedback) 和 [vwxyzjn\u002Fsummarize_from_feedback_details](https:\u002F\u002Fgithub.com\u002Fvwxyzjn\u002Fsummarize_from_feedback_details)：我们的核心 PPO 代码改编自 OpenAI 的原始 RLHF 代码，以及 [Huang 等人 (2024) 对 OpenAI 总结反馈工作的复现工作](https:\u002F\u002Fopenreview.net\u002Fforum?id=kHO2ZTa8e3)。\n* [OpenRLHF](https:\u002F\u002Fgithub.com\u002FOpenRLHF\u002FOpenRLHF)：我们借鉴了 OpenRLHF 的 Ray + vLLM 分布式代码，用于将 PPO RLVR 训练扩展到 700 亿参数规模。\n\n## 引用\n\n如果您使用了本仓库或我们的模型，请引用我们的工作：\n\nTulu 1：\n```bibtex\n@misc{wang2023far,\n   title={骆驼能走多远？探索开放资源上的指令微调现状},\n   author={王一中、哈米什·伊维森、普拉迪普·达西吉、杰克·赫塞尔、图沙尔·科特、卡亚蒂·拉加维·钱杜、大卫·瓦登、凯尔西·麦克米兰、诺亚·A·史密斯、伊兹·贝尔塔吉、汉娜内·哈吉希尔齐},\n   year={2023},\n   eprint={2306.04751},\n   archivePrefix={arXiv},\n   primaryClass={cs.CL}\n}\n```\n\nTulu 2：\n```bibtex\n@misc{ivison2023camels,\n      title={气候变化中的骆驼：借助 Tulu 2 提升语言模型的适应能力},\n      author={哈米什·伊维森、王一中、瓦伦蒂娜·皮亚特金、内森·兰伯特、马修·彼得斯、普拉迪普·达西吉、乔尔·张、大卫·瓦登、诺亚·A·史密斯、伊兹·贝尔塔吉、汉娜内·哈吉希尔齐},\n      year={2023},\n      eprint={2311.10702},\n      archivePrefix={arXiv},\n      primaryClass={cs.CL}\n}\n```\n\nTulu 2.5：\n```bibtex\n@misc{ivison2024unpacking,\n      title={解析 DPO 和 PPO：厘清基于偏好反馈学习的最佳实践},\n      author={哈米什·伊维森、王一中、刘嘉诚、吴泽秋、瓦伦蒂娜·皮亚特金、内森·兰伯特、诺亚·A·史密斯、叶津·崔、汉娜内·哈吉希尔齐},\n      year={2024},\n      eprint={2406.09279},\n      archivePrefix={arXiv},\n      primaryClass={cs.CL},\n}\n```\n\nTulu 3：\n```bibtex\n@article{lambert2024tulu3,\n  title = {Tülu 3：推动开放语言模型后训练的前沿},\n  author = {\n    内森·兰伯特、雅各布·莫里森、瓦伦蒂娜·皮亚特金、黄圣毅、哈米什·伊维森、法耶兹·布拉曼、莱斯特·詹姆斯·V·米兰达、阿丽莎·刘、努哈·德齐里、谢恩·吕、谷玉玲、索姆亚·马利克、维多利亚·格拉夫、珍娜·D·黄、杨江江、罗南·勒·布拉斯、奥伊温德·塔夫约德、克里斯·维尔海姆、卢卡·索尔代尼、诺亚·A·史密斯、王一中、普拉迪普·达西吉、汉娜内·哈吉希尔齐\n  },\n  year = {2024},\n  email = {tulu@allenai.org}\n}\n```\n\nOLMo 3：\n```bibtex\n@misc{olmo2025olmo3,\n      title={OLMo 3},\n      author={OLMo 团队、艾莉森·埃廷格、阿曼达·伯奇、贝利·库尔、大卫·格雷厄姆、大卫·海涅曼、迪尔克·格罗内韦尔德、法耶兹·布拉曼、芬巴尔·蒂姆伯斯、哈米什·伊维森、雅各布·莫里森、杰克·波兹南斯基、凯尔·洛、卢卡·索尔代尼、马特·乔丹、梅伊·陈、迈克尔·诺霍维奇、内森·兰伯特、皮特·沃尔什、普拉迪普·达西吉、罗伯特·贝里、索姆亚·马利克、萨乌拉布·沙阿、斯科特·耿、谢恩·阿罗拉、夏尚克·古普塔、泰拉·安德森、滕晓、泰勒·默里、泰勒·罗梅罗、维多利亚·格拉夫、明纪·浅井、阿克希塔·巴吉亚、亚历山大·韦蒂格、阿丽莎·刘、阿曼·兰加普尔、克洛伊·阿纳斯塔西亚德斯、科斯塔·黄、达斯汀·施文克、哈什·特里维迪、伊恩·马格努森、贾隆·洛克纳、刘嘉诚、莱斯特·詹姆斯·V·米兰达、马尔滕·萨普、玛丽亚·摩根、迈克尔·施密茨、米哈尔·格尔金、迈克尔·威尔逊、里根·哈夫、罗南·勒·布拉斯、瑞鑫、如林·邵、萨姆·斯琼斯贝格、香农·泽江申、舒悦·斯特拉·李、塔克·怀尔德、瓦伦蒂娜·皮亚特金、威尔·梅里尔、叶佩·昌、谷玉玲、智源·曾、阿希什·萨巴瓦尔、卢克·泽特勒莫耶、庞伟·科、阿里·法尔哈迪、诺亚·A·史密斯、汉娜内·哈吉希尔齐},\n      year={2025},\n      eprint={2512.13961},\n      archivePrefix={arXiv},\n      primaryClass={cs.CL},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2512.13961},\n}\n```","# Open-Instruct 快速上手指南\n\nOpen-Instruct 是 AllenAI 开源的指令微调（Instruction Tuning）和后训练（Post-Training）框架，支持对 Llama、OLMo 等主流预训练模型进行 SFT、DPO 及基于可验证奖励的强化学习（RLVR）。本指南帮助开发者快速搭建环境并运行基础训练任务。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Linux (推荐 Ubuntu 20.04+)\n- **GPU**: 支持 CUDA 的 NVIDIA 显卡（根据模型大小需求不同，8B 模型建议至少 8x A100\u002FA800 或同等显存）\n- **Python**: 3.10+\n- **存储**: 建议预留 50GB+ 空间用于数据集和模型权重\n\n### 前置依赖\n- **Git LFS**: 用于拉取大模型文件\n  ```bash\n  sudo apt-get install git-lfs\n  git lfs install\n  ```\n- **Docker** (可选): 如需使用容器化环境，请确保已安装 Docker 和 Beaker CLI（仅限 AI2 内部或兼容环境）。\n- **uv**: 本项目推荐使用 `uv` 进行依赖管理和运行。\n\n## 安装步骤\n\n本项目推荐使用 `uv` 进行快速安装和环境同步。\n\n1. **克隆仓库**\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct.git\n   cd open-instruct\n   ```\n\n2. **使用 uv 同步环境**\n   确保已安装 `uv` (参考 [uv 文档](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F))，然后执行：\n   ```bash\n   uv sync\n   ```\n   *注：国内用户若遇到 PyPI 下载慢，可配置 `UV_INDEX_URL` 环境变量使用清华或阿里镜像源：*\n   ```bash\n   export UV_INDEX_URL=https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n   uv sync\n   ```\n\n3. **验证安装**\n   运行测试以确保环境正常：\n   ```bash\n   uv run pytest\n   ```\n\n*(可选) Docker 构建方式:*\n```bash\ndocker build . \\\n    --build-arg GIT_COMMIT=$(git rev-parse --short HEAD) \\\n    --build-arg GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD) \\\n    -t open_instruct_dev\n```\n\n## 基本使用\n\n以下示例展示如何启动基础的指令微调（SFT）和偏好优化（DPO）任务。具体配置文件位于 `scripts\u002Ftrain\u002Ftulu3\u002F` 目录下。\n\n### 1. 指令微调 (SFT)\n使用 8 张 GPU 训练一个 8B 参数的 Tulu 3 模型：\n```bash\nbash scripts\u002Ftrain\u002Ftulu3\u002Ffinetune_8b.sh\n```\n\n> **提示**: 对于 OLMo、OLMoE、Qwen3 等特定架构模型，推荐使用更高效的 [OLMo-core SFT](https:\u002F\u002Fgithub.com\u002Fallenai\u002FOLMo-core\u002Ftree\u002Fmain\u002Fsrc\u002Fscripts\u002Ftrain\u002Fsft) 实现。\n\n### 2. 偏好微调 (DPO)\n在 SFT 模型基础上进行 DPO 训练（同样使用 8 张 GPU）：\n```bash\nbash scripts\u002Ftrain\u002Ftulu3\u002Fdpo_8b.sh\n```\n\n### 3. 基于可验证奖励的强化学习 (RLVR)\n运行单卡调试脚本（适合快速测试流程）：\n```bash\nbash scripts\u002Ftrain\u002Fdebug\u002Fsingle_gpu_on_beaker.sh\n```\n\n正式训练 8B 模型（1 卡推理，7 卡训练）：\n```bash\nbash scripts\u002Ftrain\u002Frlvr\u002Ftulu_rlvr.sh\n```\n\n### 4. 数据去重检查 (可选)\n在训练前，建议检查训练集与评估集的重叠情况：\n```bash\n# 查看 decontamination 目录下的具体脚本\nls .\u002Fdecontamination\n```\n\n---\n**注意**: Open-Instruct 是一个研究性质的代码库，不保证向后兼容性。详细复现 Tulu 3 模型的步骤请参考项目根目录下的 `docs\u002Ftulu3.md`。","某初创团队希望基于 Llama 3.1 8B 构建一个垂直领域的医疗咨询助手，需要让模型不仅懂医学知识，还能严格遵循“先询问症状再给建议”的安全指令。\n\n### 没有 open-instruct 时\n- **数据格式混乱**：团队需手动编写脚本清洗来自不同来源的指令数据集，花费数周时间统一格式，极易出错。\n- **进阶对齐缺失**：仅能完成基础监督微调（SFT），缺乏代码支持 DPO（直接偏好优化）或 RLVR，导致模型常输出冗长或不安全的回答。\n- **复现难度极大**：参考论文自行实现 PPO 或 DPO 算法时，因超参数敏感和细节缺失，训练过程频繁崩溃且效果无法复现。\n- **评估体系割裂**：缺乏内置的标准化评估流程，难以量化模型在遵循复杂指令方面的实际提升，只能依赖主观人工测试。\n\n### 使用 open-instruct 后\n- **流水线标准化**：直接利用其统一的代码框架加载多种公开指令数据集，无需预处理即可启动训练，将准备时间从数周缩短至数天。\n- **全阶段对齐支持**：无缝衔接 SFT、DPO 及 RLVR 训练阶段，快速打造出既专业又安全的医疗助手，显著减少有害输出。\n- **最佳实践落地**：直接复用 Tülu 3 项目中经过验证的训练配置和超参数，一次性成功跑通复杂对齐流程，模型表现稳定可靠。\n- **集成权威评估**：结合推荐的 OLMES 评估套件，即时量化模型在指令遵循上的进步，用数据驱动迭代优化。\n\nopen-instruct 将原本碎片化、高门槛的大模型后训练过程，转化为一条可复现、全流程标准化的工业级生产线。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fallenai_open-instruct_8f381dff.png","allenai","Ai2","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fallenai_65c450d5.png","",null,"ai2-info@allenai.org","http:\u002F\u002Fwww.allenai.org","https:\u002F\u002Fgithub.com\u002Fallenai",[81,85,89,93,97,101,105,109],{"name":82,"color":83,"percentage":84},"Python","#3572A5",86,{"name":86,"color":87,"percentage":88},"Shell","#89e051",12.6,{"name":90,"color":91,"percentage":92},"HTML","#e34c26",0.8,{"name":94,"color":95,"percentage":96},"JavaScript","#f1e05a",0.3,{"name":98,"color":99,"percentage":100},"CSS","#663399",0.2,{"name":102,"color":103,"percentage":104},"Dockerfile","#384d54",0.1,{"name":106,"color":107,"percentage":108},"Makefile","#427819",0,{"name":110,"color":111,"percentage":108},"Jinja","#a52a22",3683,532,"2026-04-11T15:06:45","Apache-2.0",4,"Linux","必需 NVIDIA GPU。示例脚本显示训练 8B 模型需 8 张 GPU，RLVR 训练需多卡配置（如 1 卡推理 +7 卡训练）。具体显存和 CUDA 版本未在文中明确说明，但依赖 FlashAttention-2 和 vLLM，通常建议高显存（24GB+）及较新 CUDA 版本。","未说明",{"notes":121,"python":122,"dependencies":123},"该项目主要推荐使用 Docker 或 uv 进行环境搭建。代码库明确提到支持 FlashAttention-2、LoRA\u002FQLoRA 以及 vLLM 加速评估。训练脚本示例基于多 GPU 环境（如 8 卡），且包含针对 AI2 Beaker 集群的特定配置。项目不保证向后兼容性，建议参考提供的 Dockerfile 构建环境。","未说明 (通过 uv 管理环境)",[124,125,126,127,128,129,130,131,132,133],"uv","torch","transformers","accelerate","deepspeed","flash-attn","vllm","peft","bitsandbytes","pre-commit",[35,14],"2026-03-27T02:49:30.150509","2026-04-12T16:23:59.760408",[138,143,148,153,158,162],{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},30767,"运行 QLoRA 脚本时遇到 CUDA 显存不足（OOM）错误怎么办？","确保在启动命令中正确设置了 `--use_qlora` 标志。如果未设置该标志，即使使用了 LoRA 也可能导致显存溢出。以下是在单节点（8 GPU）上运行的推荐命令示例：\n\naccelerate launch --num_machines 1 --num_processes 8 open_instruct\u002Ffinetune.py \\\n--model_name_or_path \u003Cmodel path> \\\n--tokenizer_name \u003Cmodel path> \\\n--use_slow_tokenizer \\\n--train_file \u003Ctrain_data> \\\n--use_flash_attn \\\n--gradient_checkpointing \\\n--use_lora \\\n--use_qlora \\\n--lora_rank 64 \\\n--lora_alpha 16 \\\n--lora_dropout 0.1 \\\n--max_seq_length 4096 \\\n--preprocessing_num_workers 64 \\\n--per_device_train_batch_size 1 \\\n--gradient_accumulation_steps 16 \\\n--learning_rate 1e-4 \\\n--lr_scheduler_type linear \\\n--warmup_ratio 0.03 \\\n--weight_decay 0. \\\n--num_train_epochs 5 \\\n--output_dir output\u002F \\\n--with_tracking --report_to wandb --checkpointing_steps epoch \\\n--logging_steps 1","https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fissues\u002F65",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},30768,"在 Slurm 环境下单节点运行 RLVR 任务时，任务挂起等待放置组（placement group）或 Worker 崩溃如何解决？","这通常是因为生成器（generator）速度远快于训练器（trainer），导致严重的离线策略（off-policy）训练问题。建议采取以下措施：\n1. 增加训练器的 GPU 数量。\n2. 或者设置 `async_steps=1`，确保生成器最多只比训练器领先 1 步。\n此外，请检查 `num_learners_per_node`、`vllm_num_engines` 和放置组大小的配置是否适合单节点环境。","https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fissues\u002F1431",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},30769,"GRPO 训练中训练分数上升但下游 MATH 评估效果下降的原因是什么？","这通常是生成器速度过快，导致训练严重偏离当前策略（off-policy）的迹象。可以通过以下方式解决：\n1. 增加训练器使用的 GPU 数量以加快训练速度。\n2. 设置参数 `async_steps=1`，限制生成器最多只能领先训练器 1 步，从而减少策略偏差。","https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fissues\u002F534",{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},30770,"运行 prepare_train_data.sh 脚本时出现 FileNotFoundError: sharegpt_html_cleaned_and_split_2048.json 找不到怎么办？","该错误是因为数据处理脚本的位置或数据文件路径发生了变化。维护者已确认相关脚本已被移动。请检查项目最新的目录结构，确认 `sharegpt` 数据文件是否已下载到正确的 `data\u002Fraw_train\u002Fsharegpt\u002F` 目录下，或者查看仓库中是否有更新后的数据准备脚本来替代旧的 `prepare_train_data.sh`。","https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fissues\u002F171",{"id":159,"question_zh":160,"answer_zh":161,"source_url":142},30771,"在使用 DeepSpeed Zero-3 进行 QLoRA 微调时报错\"不兼容 low_cpu_mem_usage 或 device_map\"如何解决？","DeepSpeed Zero-3 与 `low_cpu_mem_usage=True` 或传递 `device_map` 参数不兼容。在使用 QLoRA 时，请确保在启动命令中明确添加 `--use_qlora` 标志，并避免在代码或配置中同时启用冲突的内存优化选项。参考官方提供的完整启动命令，确保参数组合正确（如同时使用 `--use_lora` 和 `--use_qlora`）。",{"id":163,"question_zh":164,"answer_zh":165,"source_url":147},30772,"RLVR 训练过程中如何判断模型是否在正常学习？如果没有下游评估该怎么办？","在没有即时下游评估的情况下，主要依赖以下两个指标来判断训练状态：\n1. 观察训练奖励（training reward）：确保其最终呈现上升趋势。\n2. 监控 KL 散度：如果 KL 散度持续下降，通常意味着训练严重偏离策略（off-policy），需要调整生成器与训练器的同步策略（如设置 `async_steps=1`）。",[167,172],{"id":168,"version":169,"summary_zh":170,"released_at":171},222606,"v0.2.0","值得关注的更新内容：\n\n1. 修复了一个严重问题：ZeRO-2 会丢弃梯度。\n2. 现在支持使用 RLEnvironment 抽象进行训练，包括代码执行沙箱机制。\n3. Olmo-core DPO 已经准备就绪，支持数据并行、打包优化以及 torch.compile。相比之前的 Hugging Face 实现，性能将大幅提升。\n4. 我们开发了一套基于 Beaker 的模型合并实现（仅供 Ai2 内部用户使用）。\n5. 现在，GRPO 在训练过程中不会允许智能体比学习器快太多而过度超前。\n\n### 修复\n- 通过使用 `set_gradient_accumulation_boundary()`，修复了 ZeRO-2 在手动梯度累积时丢弃梯度的问题（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1498）。\n\n### 新增\n- 整理 OLMo 3.X 分词器文档：明确 SFT 分词的变通方案，添加开发版与发布版分词器矩阵，并创建 `allenai\u002Folmo-3-tokenizer-instruct-release`（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1487）。\n- 添加 Docker 沙箱后端和用于强化学习训练中代码执行的 `GenericSandboxEnv` 环境。`DockerBackend` 支持命令超时、可配置的内存限制、`put_archive`\u002F`get_archive` 文件 I\u002FO 以及 `remove=True` 自动清理功能。`GenericSandboxEnv` 提供 `execute_bash`（带有环境变量和当前工作目录持久化的有状态 Bash）和 `str_replace_editor`（可查看、创建、替换字符串并插入内容，同时保持正确的行号）。可通过 `GenericSandboxEnvConfig` 配置惩罚机制、镜像和内存限制。附带 1 张 GPU 的调试脚本（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1490）。\n- `TextRLEnvironment` 是基于文本的强化学习环境基类：模型输出以纯文本形式传递，而非解析为工具调用；响应则使用解析器的 `role_template` 进行格式化。包含 `WordleTextEnv` 示例，在所有解析器中实现了角色感知的 `format_tool_outputs`，并在 `process_request` 中增加了影子工具调用调度功能，同时提供 1 张 GPU 的调试脚本（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1489）。\n- 将强化学习环境接入 vLLM 生成循环和预处理流程：统一工具与环境系统，采用单一的 `TOOL_REGISTRY` 注册表；通过共享的 `EnvironmentPool` Ray Actor 实现智能体池化管理（异步获取与释放，规模自动调整以匹配 rollout 并发度）；`RolloutState` 跟踪每个 rollout 的全部状态；使用 `PassthroughVerifier` + `RewardAggregator` 处理每回合奖励（验证器得分会在聚合前折叠到最后一回合）；在 `environments\u002Fbase.py` 中定义 `BaseEnvConfig`；统一 `--max_steps` 参数，增加 `--pool_size` 可配置项，实现从数据集中自动发现工具的功能，并为计数器和猜数字环境提供了 1 张 GPU 的调试脚本（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1479）。\n- 强化学习环境抽象：定义 `RLEnvironment` 基类，其中 `Tool` 作为其子类，从而将工具和环境统一到一个 `step(EnvCall) -> StepResult` 接口之下。移除了 `Executable`、`EnvOutput`、`_execute` 和 `safe_execute` 等间接层，并将工具模块迁移到 `open_instruct\u002Fenvironments\u002Ftools\u002F` 目录下。同时包含了示例环境（`CounterEnv` 和 `GuessNumberEnv`）（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-inst","2026-03-02T16:16:52",{"id":173,"version":174,"summary_zh":175,"released_at":176},222607,"v0.1.0","我们对 `open-instruct` 做了以下更改：\n\n### 新增\n- 添加了基于 OLMo-core 的 DPO 训练脚本（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1391）。\n- 添加了支持检查点恢复和可配置打乱种子的 SLURM 脚本，用于 OLMo SFT 训练。https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1368\n- 为工具 API 调用的 `make_api_request` 添加了带有指数退避的重试逻辑（在超时、连接错误、429 错误以及 5xx 错误时重试）。同时，为工具配置添加了可配置的 `max_concurrency` 参数，用于控制每个工具的 Ray actor 并发度。https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1388\n- 在训练过程中增加了对通用 MCP 工具的支持，但存在一些限制（不可动态更换工具，且无法在训练期间进行工具发现）。详情请参阅：https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1384\n- 增加了按样本设置活动工具的功能。更多详情请见 PR：https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1382\n- 添加了一个新的变更日志 GitHub Action，确保每次提交都会更新变更日志！https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1276\n- 现在会对 `open_instruct\u002Fdataset_transformation.py` 进行类型检查（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1390）。\n- 添加了一条 linter 规则，要求将 `import` 语句放在文件顶部（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1394）。\n- 将 GRPO 配置重构到一个 `grpo_utils.py` 文件中，为实现 Olmo-core 做准备（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1396）。\n- 现在，当传递 `--save_traces` 标志时，在 RL 训练过程中会将生成的 rollout 保存到磁盘上（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1406）。\n- 将 GRPO 中的权重同步代码提取出来，封装成一个更通用的函数（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1411#pullrequestreview-3694117967）。\n\n### 变更\n- 通过 `uv lock --upgrade` 更新了库版本（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1400）。\n- 现在，`large_test_script.sh` 会测试 `tp > 1` 的代码路径（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1413）。\n\n### 修复\n- 通过 `safe_execute()` 为工具参数添加了自动类型转换功能，避免模型传递错误类型（例如布尔值而非字符串）导致程序崩溃（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1418）。\n- 通过从 `StreamingDataLoaderConfig` 中移除重复的字段定义，修复了 `--save_traces` 的 argparse 冲突错误（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1416）。\n- 将 `MetricsTracker` 的最大指标数从 64 提升至 512，以解决在使用大量工具或验证器函数进行训练时出现的 `ValueError: 超过最大指标数` 错误（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1415）。\n- 修复了在本地缓存数据集时，`LocalDatasetTransformationCache.save_config` 中的 JSON 序列化错误（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1402）。\n- 现在可以在保护内部令牌安全的同时，支持来自外部贡献者的 PR（https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fpull\u002F1408）。\n- 改进了错误…","2026-01-26T18:15:38"]