[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-allenai--molmo":3,"tool-allenai--molmo":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},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 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":80,"owner_twitter":79,"owner_website":81,"owner_url":82,"languages":83,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":10,"env_os":92,"env_gpu":93,"env_ram":94,"env_deps":95,"category_tags":103,"github_topics":79,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":104,"updated_at":105,"faqs":106,"releases":141},3534,"allenai\u002Fmolmo","molmo","Code for the Molmo Vision-Language Model","Molmo 是由艾伦人工智能研究所（Ai2）推出的开源多模态大语言模型项目，旨在让 AI 像人类一样同时“看”懂图片并理解文字。它基于强大的 OLMo 代码库构建，通过集成先进的视觉编码技术，解决了传统语言模型无法直接处理图像信息、或在图文结合任务中表现不佳的难题。\n\n无论是需要复现前沿研究的科研人员，还是希望开发图文交互应用的开发者，Molmo 都提供了完整的训练、评估及使用代码。其独特亮点在于配套发布了名为 PixMo 的高质量数据集系列。这些涵盖详细图像描述、指点计数、图表理解等丰富场景的数据，完全由人工或合成方法构建，未依赖其他多模态模型生成，从而有效避免了数据污染问题，为模型打下了坚实可靠的基础。目前，Molmo 已开放包括 10 亿参数到 70 亿参数在内的多个模型版本，支持社区自由探索与微调，是推动开放多模态智能发展的有力工具。","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"assets\u002FMolmo-logo.svg\" alt=\"Molmo Logo\" width=\"800\" style=\"margin-left:'auto' margin-right:'auto' display:'block'\"\u002F>\n  \u003Cbr>\n  \u003Cbr>\n  \u003Ch1>Molmo: Multimodal Open Language Model\u003C\u002Fh1>\n\u003C\u002Fdiv>\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fallenai\u002Fmm_olmo\u002Fblob\u002Frelease\u002FLICENSE\">\n    \u003Cimg alt=\"GitHub License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fallenai\u002FOLMo\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fmolmo.allenai.org\u002Fblog\">\n    \u003Cimg alt=\"Blog Post\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMolmo-blog-F0529C\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2409.17146\">\n    \u003Cimg alt=\"Paper URL\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Farxiv-2409.17146-blue\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fallenai\u002Fmolmo-66f379e6fe3b8ef090a8ca19\">\n    \u003Cimg alt=\"Model Checkpoints\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20HF-Models-yellow\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fallenai\u002Fpixmo-674746ea613028006285687b\">\n    \u003Cimg alt=\"PixMo (Datasets)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20HF-PixMo (Datasets)-yellow\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\nMolmo is a repository for training and using Ai2's state-of-the-art multimodal open language models.\n\nHere is a **[video demo](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=spBxYa3eAlA)** of Molmo's capabilities. Try Molmo using our public **[demo](https:\u002F\u002Fmolmo.allenai.org)** showcasing the Molmo-7B-D model.\n\nThis codebase is based on the [OLMo codebase](https:\u002F\u002Fgithub.com\u002Fallenai\u002FOLMo) with the addition\nof vision encoding and integrating generative evaluations.\n\n## Release Notes\n\n- [2024\u002F12\u002F05] **🔥 Molmo**: code for modeling, training and evaluation has been released. You can find detailed technical report [here](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2409.17146).\n\n- [2024\u002F11\u002F27] **🔥 [PixMo](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fallenai\u002Fpixmo-674746ea613028006285687b)**, our new collection of datasets for pre-training and fine-tuning VLMs, has been released. PixMo consists of:\n\n  - [**PixMo-Cap**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-cap) (pre-training, fine-tuning): highly detailed dense caption dataset (roughly 200 words on average)\n  - [**PixMo-AskModelAnything**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-ask-model-anything) (fine-tuning): instruction-tuning data containing human-authored image-question-answer triplets\n  - [**PixMo-CapQA**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-cap-qa) (fine-tuning): synthetic instruction-tuning data, using a LLM to build QA pairs from dense captions of images\n  - [**PixMo-Points**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-points) (fine-tuning): images paired with referring expressions and annotated points, supporting grounding and counting\n  - [**PixMo-Point-Explanations**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-point-explanations) (fine-tuning): instruction-tuning data with explanations containing in-line points referring to parts of the image\n  - [**PixMo-Docs**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-docs) (fine-tuning): synthetic image-question-answer triplets about various kinds of computer-generated charts, tables, diagrams and documents. Code available [here](https:\u002F\u002Fgithub.com\u002Fallenai\u002Fpixmo-docs).\n  - [**PixMo-Clocks**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-clocks) (fine-tuning): virtual watch faces and time annotations\n  - [**PixMo-Count**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-count) (fine-tuning): diverse images with counting QA pairs\n\n  All datasets were constructed **without the use of VLMs**.\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fallenai_molmo_readme_d7beaf1befd3.png\" alt=\"Pixmo and Molmo\" width=\"800\" style=\"margin-left:'auto' margin-right:'auto' display:'block'\"\u002F>\n  \u003Cbr>\n  \u003Cp>Datasets in PixMo (left) and the capabilities they enable in Molmo (right).\n  \u003Cbr>\n\u003C\u002Fdiv>\n\n- [2024\u002F09\u002F24] **🔥 [Molmo](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fallenai\u002Fmolmo-66f379e6fe3b8ef090a8ca19)**, a new family of open VLMs, has been released. The Molmo family consists of:\n\n  - [**MolmoE-1B**](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmoE-1B-0924): a mixture of experts model with 1B (active) 7B (total)\n  - [**Molmo-7B-O**](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-O-0924): our most open 7B model\n  - [**Molmo-7B-D**](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-D-0924): our best 7B and demo model\n  - [**Molmo-72B**](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-D-0924): our best 72B model\n\n\n## Installation\n\nWe recommend using python 3.10.\nFirst install [PyTorch](https:\u002F\u002Fpytorch.org) according to the instructions specific to your operating system.\n\nTo install dependencies, run:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fallenai\u002Fmolmo.git\ncd molmo\npip install -e .[all]\n```\n\nFor training and evaluating MolmoE-1B, please install megablocks by running `pip install git+https:\u002F\u002Fgithub.com\u002FMuennighoff\u002Fmegablocks.git@olmoe`.\n\n\n## Huggingface Models and Logs\n\nThe core models in the Molmo family released so far are:\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Cth>Model\u003C\u002Fth>\n    \u003Cth>Vision Encoder\u003C\u002Fth>\n    \u003Cth>LLM\u003C\u002Fth>\n    \u003Cth align=\"center\">11-benchmark avg\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmoE-1B-0924\">MolmoE-1B-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd rowspan=\"4\">\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fopenai\u002Fclip-vit-large-patch14-336\">OpenAI CLIP ViT-L\u002F14@336\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMoE-1B-7B-0924\">OLMoE-1B-7B-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">68.6\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-O-0924\">Molmo-7B-O-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-7B-1024-preview\">OLMo-7B-1024-preview\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">74.6\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-D-0924\">Molmo-7B-D-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2-7B\">Qwen2-7B\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">77.3\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-72B-0924\">Molmo-72B-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2-72B\">Qwen2-72B\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">81.2\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\nW&B logs: [pre-training](https:\u002F\u002Fwandb.ai\u002Fprior-ai2\u002Fmolmo\u002Freports\u002FMolmo-Pre-training--VmlldzoxMDQwODE3OA), [fine-tuning](https:\u002F\u002Fwandb.ai\u002Fprior-ai2\u002Fmolmo\u002Freports\u002FMolmo-Fine-tuning--VmlldzoxMDQwOTQ4Mw)\n\n## Data Downloading and Setup \nMolmo uses huggingface datasets for most data, therefore most \ndata will be stored in the default huggingface cache. See [here](https:\u002F\u002Fhuggingface.co\u002Fdocs\u002Fhuggingface_hub\u002Fguides\u002Fmanage-cache)\nfor how to set it. Some additional data is stored separately in the path\nset by `MOLMO_DATA_DIR`. \n\nFor example, if you want to store the data in `\u002Fdata\u002Fmolmo` you could set\n\n```bash\nexport MOLMO_DATA_DIR=\u002Fdata\u002Fmolmo\nexport HF_HOME=\u002Fdata\u002Fmolmo\u002Fhuggingface\n```\n\nData can then be downloaded with:\n\n```bash\npython3 scripts\u002Fdownload.py all --n_proc 12\n```\n\nDownloading the pixmo datasets requires downloading images from URLs. The download script\nwill do this automatically, but it will take some time.\nDownloading everything from scratch can take up to a day.\nMore processes can make it faster, but it also increases the risk of getting rate-limited.\n\nDownloading can be resumed if canceled or an error occurs mid-download.\n\nSome datasets (InfoQa and Scene-Text) require manually downloading the files.\nThe download scripts will throw an error if those files are not found.\n\nDownloading the android control dataset requires additional dependencies\nsince it requires parsing the original tfrecords.\n\nTo download a specific dataset pass in the dataset name run:\n```bash\npython3 scripts\u002Fdownload_data.py ChartQa --n_proc 12\n```\n\n## Visualizing Data\nOnce downloaded, datasets can be visualized by using `scripts\u002Fdataset_visualize.py` script:\n\n```bash\npython3 scripts\u002Fdataset_visualize.py chart_qa \u002Fpath\u002Fto\u002Fviz\u002Fdir\n```\n\n## Trained Models\nWe release model weights both after pre-training and after fine-tuning in a format compatible\nwith this codebase. The fine-tuned weights match the ones in the hugging face repos,\nbut have a slightly different format. The config files are backwards-compatible with\nthis repo, but also have a slightly different format. \n\n\u003Ctable>\n  \u003Ctr>\n    \u003Cth>Model\u003C\u002Fth>\n    \u003Cth>Pretrained\u003C\u002Fth>\n    \u003Cth>Fine-Tuned\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmoE-1B-0924\">MolmoE-1B-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmoE-1B-0924-Pretrained.tar\">pretrained\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmoE-1B-0924.tar\">fine-tuned\u003C\u002Fa>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-O-0924\">Molmo-7B-O-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmo-7B-O-0924-Pretrained.tar\">pretrained\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmo-7B-O-0924.tar\">fine-tuned\u003C\u002Fa>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-D-0924\">Molmo-7B-D-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmo-7B-D-0924-Pretrained.tar\">pretrained\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmo-7B-D-0924.tar\">fine-tuned\u003C\u002Fa>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-72B-0924\">Molmo-72B-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmo-72B-0924-Pretrained.tar\">pretrained\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmo-72B-0924.tar\">fine-tuned\u003C\u002Fa>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\nTo use them, download the file and untar them. Each folder contains\nthe needed config file and model weights. For example:\n\n```bash\nwget https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmo-7B-D-0924.tar\ntar -xf Molmo-7B-D-0924.tar \n```\n\n## Evaluation\nEvaluation is done with the `launch_scripts\u002Feval_downstream.py` script. \nFSDP can be used to evaluate large models, or for high-resolution processing. \nNote that the vLLM version of Molmo will be significantly faster for inference, but most of \nour numbers were reported using the results of this local evaluation. \n\nTo eval on a single task pass the `task name`, or `task_name:split`:\n\n```bash\ntorchrun --nproc-per-node 8 launch_scripts\u002Feval_downstream.py Molmo-7B-D-0924 text_vqa --save_to_checkpoint_dir\n```\n\nFor most tasks, we evaluate with high resolution:\n\n```bash\ntorchrun --nproc-per-node 8 launch_scripts\u002Feval_downstream.py Molmo-7B-D-0924 text_vqa --save_to_checkpoint_dir --high_res --fsdp --device_batch_size=2\n```\n\nThe `--fsdp` flag will use FSDP which is needed for to avoid OOMs when using high resolution.\n\nTo evaluate on our default eval set (including the 11 tasks in the paper):\n```bash\ntorchrun --nproc-per-node 8 launch_scripts\u002Feval_downstream.py Molmo-7B-D-0924 low-res --save_to_checkpoint_dir\ntorchrun --nproc-per-node 8 launch_scripts\u002Feval_downstream.py Molmo-7B-D-0924 high-res --save_to_checkpoint_dir --high_res --fsdp --device_batch_size=2\n```\n\nTo get test numbers, use `low-res-test` and `high-res-test`. Some test numbers will require\nre-formatting the prediction files and then submitting to test servers.\n\nTo evaluate the 72B model with this codebase you will need to run on multiple nodes\nand might need to set `PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True`\n\nThese scripts will save the metrics and predictions in the save directory. Future calls to the \neval script will re-use cached metrics if they exist, to overwrite these cached metrics use\nthe `--overwrite` flag.\n\n### Evaluation with VLMEvalkit\nEvaluation of the HF models is also supported via [open-compass\u002FVLMEvalkit](https:\u002F\u002Fgithub.com\u002Fopen-compass\u002FVLMEvalKit). Check [PR#648](https:\u002F\u002Fgithub.com\u002Fopen-compass\u002FVLMEvalKit\u002Fpull\u002F648) for supported prompts and evaluation settings to reproduce results from the paper.\nHowever a few datasets (e.g., PixMo-Count) are not supported.\n\n## Pretrained Models for Initialization\nTraining end-to-end requires downloading the pre-trained models used to initialize Molmo.\nThis can be done with the script `scripts\u002Fconvert_hf_to_molmo.py`\n\nFor example, to load the Qwen2 LLM and OpenAI CLIP model, run:\n\n```bash\npython3 scripts\u002Fconvert_hf_to_molmo.py qwen2_7b\npython3 scripts\u002Fconvert_hf_to_molmo.py openai\n```\n\nThe model will be downloaded from huggingface, converted into a compatible format,\nand then saved into the `MOLMO_DATA_DIR` directory.\n\n## Pre-Training\nThe main training script is `scripts\u002Ftrain.py`. To train a model you can either construct a config\nfile to pass to it, or call one of the higher-level helper scripts in `launch_scripts` which\nwill construct a low-level config from some higher-level settings and then invoke the train script for you.\n\nTo start a debugging run:\n\n`torchrun --nproc-per-node=1 launch_scripts\u002Ftrain_captioner.py debug\n--save_folder=\u002Fpath\u002Fto\u002Fsave\u002Ffolder`\n\nTo train with the Qwen2 LLM and the CLIP vision encoder:\n\n`WANDB_API_KEY=key torchrun --nproc-per-node=8 launch_scripts\u002Ftrain_captioner.py qwen2_7b\n--wandb.name=run_name --wandb.entity=entity --wandb.project=project --save_folder=\u002Fpath\u002Fto\u002Fsave\u002Ffolder`\n\nYou can use other vision encoders including SigLIP, MetaCLIP and DINOv2 with the option `--vision_backbone=model_name`.\n\nTo run without wandb, use:\n\n`torchrun --nproc-per-node=8 launch_scripts\u002Ftrain_captioner.py qwen2_7b\n--wandb=null --save_folder=\u002Fpath\u002Fto\u002Fsave\u002Ffolder`\n\n## Multitask Training\nMultitask training can be done with `launch_scripts\u002Fmulttask_train.py`, for example:\n\n`WANDB_API_KEY=key torchrun --nproc-per-node=8 launch_scripts\u002Ftrain_multitask_model.py 3.2-synthetic \u002Fpath\u002Fto\u002Fcheckpoint\n--wandb.name=run_name --wandb.entity=entity --wandb.project=project\n--save_folder=\u002Fpath\u002Fto\u002Fsave\u002Ffolder\n`\n\nHere `3.2-synthetic` refers to what training mixture to use and `\u002Fpath\u002Fto\u002Fcheckpoint` points to a\nmodel checkpoint to start from, typically a dense captioning model.\n\nTo launch a debug run:\n\n`\ntorchrun --nproc-per-node=1 launch_scripts\u002Ftrain_multitask_model.py debug debug \n--save_folder=dbg --save_overwrite\n`\n\n## Training Changes\nThere are minor differences between the published Molmo models that we trained and what this repo will produce.\n\n- Image URLs might fail to download, which will cause the amount of data to shrink slightly\n- PixMo-Clocks is not used by default, it requires a more complex download script that \nwe are still considering how to port.\n\n## Multi-Node\nExecute the `torchrun` commands on each node with the [appropriate args](https:\u002F\u002Fpytorch.org\u002Ftutorials\u002Fintermediate\u002Fddp_series_multinode.html)\nshould allow multi-node training or evaluation. \n\nWe recommend ensuring the data is downloaded and then using the environment variable \n`HF_DATASETS_OFFLINE=1` to ensure the nodes don't flood HF with requests as they all initialize \nand then potentially get rate limited.\n\n## Citation\n\n```bibtex\n@article{molmo2024,\n  title={Molmo and PixMo: Open Weights and Open Data for State-of-the-Art Multimodal Models},\n  author={Matt Deitke and Christopher Clark and Sangho Lee and Rohun Tripathi and Yue Yang and Jae Sung Park and Mohammadreza Salehi and Niklas Muennighoff and Kyle Lo and Luca Soldaini and Jiasen Lu and Taira Anderson and Erin Bransom and Kiana Ehsani and Huong Ngo and YenSung Chen and Ajay Patel and Mark Yatskar and Chris Callison-Burch and Andrew Head and Rose Hendrix and Favyen Bastani and Eli VanderBilt and Nathan Lambert and Yvonne Chou and Arnavi Chheda and Jenna Sparks and Sam Skjonsberg and Michael Schmitz and Aaron Sarnat and Byron Bischoff and Pete Walsh and Chris Newell and Piper Wolters and Tanmay Gupta and Kuo-Hao Zeng and Jon Borchardt and Dirk Groeneveld and Jen Dumas and Crystal Nam and Sophie Lebrecht and Caitlin Wittlif and Carissa Schoenick and Oscar Michel and Ranjay Krishna and Luca Weihs and Noah A. Smith and Hannaneh Hajishirzi and Ross Girshick and Ali Farhadi and Aniruddha Kembhavi},\n  journal={arXiv preprint arXiv:2409.17146},\n  year={2024}\n}\n```\n","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"assets\u002FMolmo-logo.svg\" alt=\"Molmo Logo\" width=\"800\" style=\"margin-left:'auto' margin-right:'auto' display:'block'\"\u002F>\n  \u003Cbr>\n  \u003Cbr>\n  \u003Ch1>Molmo：多模态开源语言模型\u003C\u002Fh1>\n\u003C\u002Fdiv>\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fallenai\u002Fmm_olmo\u002Fblob\u002Frelease\u002FLICENSE\">\n    \u003Cimg alt=\"GitHub License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fallenai\u002FOLMo\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fmolmo.allenai.org\u002Fblog\">\n    \u003Cimg alt=\"博客文章\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMolmo-blog-F0529C\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2409.17146\">\n    \u003Cimg alt=\"论文链接\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Farxiv-2409.17146-blue\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fallenai\u002Fmolmo-66f379e6fe3b8ef090a8ca19\">\n    \u003Cimg alt=\"模型检查点\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20HF-Models-yellow\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fallenai\u002Fpixmo-674746ea613028006285687b\">\n    \u003Cimg alt=\"PixMo（数据集）\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20HF-PixMo（数据集）-yellow\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\nMolmo 是用于训练和使用 Ai2 最先进的多模态开源语言模型的代码库。\n\n以下是 Molmo 功能的 **[视频演示](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=spBxYa3eAlA)**。您可以通过我们的公开 **[演示](https:\u002F\u002Fmolmo.allenai.org)** 来体验 Molmo，该演示展示了 Molmo-7B-D 模型。\n\n本代码库基于 [OLMo 代码库](https:\u002F\u002Fgithub.com\u002Fallenai\u002FOLMo)，并在此基础上增加了视觉编码模块以及生成式评估的集成。\n\n## 发布说明\n\n- [2024年12月5日] **🔥 Molmo**：建模、训练和评估的相关代码已发布。详细的技术报告请见 [这里](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2409.17146)。\n\n- [2024年11月27日] **🔥 [PixMo](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fallenai\u002Fpixmo-674746ea613028006285687b)**，我们用于预训练和微调 VLM 的全新数据集集合，已正式发布。PixMo 包含以下数据集：\n\n  - [**PixMo-Cap**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-cap)（预训练、微调）：高度详尽的密集描述数据集（平均每张图像约 200 字）\n  - [**PixMo-AskModelAnything**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-ask-model-anything)（微调）：包含人工编写的图像-问题-答案三元组的指令微调数据\n  - [**PixMo-CapQA**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-cap-qa)（微调）：利用大语言模型从图像的密集描述中生成问答对的合成指令微调数据\n  - [**PixMo-Points**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-points)（微调）：图像与指代性表达及标注点配对的数据集，支持定位与计数任务\n  - [**PixMo-Point-Explanations**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-point-explanations)（微调）：包含内嵌标注点、指向图像各部分的解释性指令微调数据\n  - [**PixMo-Docs**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-docs)（微调）：关于各类计算机生成的图表、表格、示意图和文档的合成图像-问题-答案三元组。相关代码可在 [这里](https:\u002F\u002Fgithub.com\u002Fallenai\u002Fpixmo-docs) 获取。\n  - [**PixMo-Clocks**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-clocks)（微调）：虚拟表盘与时钟标注\n  - [**PixMo-Count**](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fallenai\u002Fpixmo-count)（微调）：包含计数类问答对的多样化图像\n\n所有数据集均 **未使用任何 VLM 构建**。\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fallenai_molmo_readme_d7beaf1befd3.png\" alt=\"PixMo 和 Molmo\" width=\"800\" style=\"margin-left:'auto' margin-right:'auto' display:'block'\"\u002F>\n  \u003Cbr>\n  \u003Cp>PixMo 中的数据集（左）及其在 Molmo 中所支持的能力（右）。\n  \u003Cbr>\n\u003C\u002Fdiv>\n\n- [2024年9月24日] **🔥 [Molmo](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fallenai\u002Fmolmo-66f379e6fe3b8ef090a8ca19)**，一个全新的开源 VLM 家族，已正式发布。Molmo 家族包括：\n\n  - [**MolmoE-1B**](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmoE-1B-0924)：专家混合模型，拥有 1B 个活跃专家，总规模为 7B\n  - [**Molmo-7B-O**](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-O-0924)：我们最开放的 7B 模型\n  - [**Molmo-7B-D**](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-D-0924)：我们性能最佳且用于演示的 7B 模型\n  - [**Molmo-72B**](https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-D-0924)：我们性能最佳的 72B 模型\n\n\n## 安装\n\n建议使用 Python 3.10。\n首先，请根据您的操作系统说明安装 [PyTorch](https:\u002F\u002Fpytorch.org)。\n\n要安装依赖项，请执行以下命令：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fallenai\u002Fmolmo.git\ncd molmo\npip install -e .[all]\n```\n\n若需训练和评估 MolmoE-1B，请通过运行 `pip install git+https:\u002F\u002Fgithub.com\u002FMuennighoff\u002Fmegablocks.git@olmoe` 来安装 megablocks。\n\n## Hugging Face 模型与日志\n\n截至目前，Molmo 家族中已发布的核心模型如下：\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Cth>模型\u003C\u002Fth>\n    \u003Cth>视觉编码器\u003C\u002Fth>\n    \u003Cth>语言模型\u003C\u002Fth>\n    \u003Cth align=\"center\">11 项基准平均得分\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmoE-1B-0924\">MolmoE-1B-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd rowspan=\"4\">\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fopenai\u002Fclip-vit-large-patch14-336\">OpenAI CLIP ViT-L\u002F14@336\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMoE-1B-7B-0924\">OLMoE-1B-7B-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">68.6\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-O-0924\">Molmo-7B-O-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FOLMo-7B-1024-preview\">OLMo-7B-1024 预览版\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">74.6\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-D-0924\">Molmo-7B-D-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2-7B\">Qwen2-7B\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">77.3\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-72B-0924\">Molmo-72B-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2-72B\">Qwen2-72B\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">81.2\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\nW&B 日志：[预训练](https:\u002F\u002Fwandb.ai\u002Fprior-ai2\u002Fmolmo\u002Freports\u002FMolmo-Pre-training--VmlldzoxMDQwODE3OA)、[微调](https:\u002F\u002Fwandb.ai\u002Fprior-ai2\u002Fmolmo\u002Freports\u002FMolmo-Fine-tuning--VmlldzoxMDQwOTQ4Mw)\n\n## 数据下载与设置\nMolmo 大多数数据都使用 Hugging Face 的数据集，因此大部分数据会存储在默认的 Hugging Face 缓存目录中。如何设置缓存目录，请参阅 [这里](https:\u002F\u002Fhuggingface.co\u002Fdocs\u002Fhuggingface_hub\u002Fguides\u002Fmanage-cache)。此外，部分额外数据会单独存储在由 `MOLMO_DATA_DIR` 设置的路径中。\n\n例如，如果您希望将数据存储在 `\u002Fdata\u002Fmolmo` 目录下，可以执行以下命令：\n\n```bash\nexport MOLMO_DATA_DIR=\u002Fdata\u002Fmolmo\nexport HF_HOME=\u002Fdata\u002Fmolmo\u002Fhuggingface\n```\n\n之后，可以通过以下命令下载数据：\n\n```bash\npython3 scripts\u002Fdownload.py all --n_proc 12\n```\n\n下载 PixMo 数据集需要从 URL 下载图片。下载脚本会自动完成此操作，但可能需要一些时间。从头开始完整下载可能需要长达一天。增加并行进程数可以加快速度，但也可能增加被限流的风险。\n\n如果下载过程中被取消或出现错误，可以从中断的地方继续下载。\n\n部分数据集（如 InfoQa 和 Scene-Text）需要手动下载文件。如果这些文件未找到，下载脚本会报错。\n\n下载 Android Control 数据集还需要额外的依赖项，因为它需要解析原始的 TFRecord 文件。\n\n要下载特定的数据集，只需指定数据集名称并运行：\n\n```bash\npython3 scripts\u002Fdownload_data.py ChartQa --n_proc 12\n```\n\n## 数据可视化\n数据下载完成后，可以使用 `scripts\u002Fdataset_visualize.py` 脚本进行可视化：\n\n```bash\npython3 scripts\u002Fdataset_visualize.py chart_qa \u002Fpath\u002Fto\u002Fviz\u002Fdir\n```\n\n## 预训练模型\n我们发布了预训练和微调后的模型权重，格式与本代码库兼容。微调后的权重与 Hugging Face 仓库中的权重一致，但格式略有不同。配置文件与本仓库向后兼容，不过格式也稍有差异。\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Cth>模型\u003C\u002Fth>\n    \u003Cth>预训练\u003C\u002Fth>\n    \u003Cth>微调\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmoE-1B-0924\">MolmoE-1B-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmoE-1B-0924-Pretrained.tar\">预训练\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmoE-1B-0924.tar\">微调\u003C\u002Fa>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-O-0924\">Molmo-7B-O-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmo-7B-O-0924-Pretrained.tar\">预训练\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmo-7B-O-0924.tar\">微调\u003C\u002Fa>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-7B-D-0924\">Molmo-7B-D-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmo-7B-D-0924-Pretrained.tar\">预训练\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmo-7B-D-0924.tar\">微调\u003C\u002Fa>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fallenai\u002FMolmo-72B-0924\">Molmo-72B-0924\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmo-72B-0924-Pretrained.tar\">预训练\u003C\u002Fa>\u003C\u002Ftd>\n    \u003Ctd>\u003Ca href=\"https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmo-72B-0924.tar\">微调\u003C\u002Fa>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n使用这些模型时，只需下载文件并解压即可。每个文件夹中都包含所需的配置文件和模型权重。例如：\n\n```bash\nwget https:\u002F\u002Fstorage.googleapis.com\u002Foe-training-public\u002FMolmo-0924\u002FMolmo-7B-D-0924.tar\ntar -xf Molmo-7B-D-0924.tar \n```\n\n## 模型评估\n评估通过 `launch_scripts\u002Feval_downstream.py` 脚本进行。对于大型模型或高分辨率处理任务，可以使用 FSDP 来加速评估。需要注意的是，使用 vLLM 版本的 Molmo 进行推理会显著更快，但我们报告的大多数结果都是基于本地评估得出的。\n\n要对单个任务进行评估，只需指定任务名称，或 `任务名称:分割`：\n\n```bash\ntorchrun --nproc-per-node 8 launch_scripts\u002Feval_downstream.py Molmo-7B-D-0924 text_vqa --save_to_checkpoint_dir\n```\n\n对于大多数任务，我们会以高分辨率进行评估：\n\n```bash\ntorchrun --nproc-per-node 8 launch_scripts\u002Feval_downstream.py Molmo-7B-D-0924 text_vqa --save_to_checkpoint_dir --high_res --fsdp --device_batch_size=2\n```\n\n`--fsdp` 标志会启用 FSDP，这对于避免在高分辨率下出现内存不足问题至关重要。\n\n要评估我们的默认评估集（包括论文中的 11 个任务），可以执行以下命令：\n\n```bash\ntorchrun --nproc-per-node 8 launch_scripts\u002Feval_downstream.py Molmo-7B-D-0924 low-res --save_to_checkpoint_dir\ntorchrun --nproc-per-node 8 launch_scripts\u002Feval_downstream.py Molmo-7B-D-0924 high-res --save_to_checkpoint_dir --high_res --fsdp --device_batch_size=2\n```\n\n若需获取测试数据，可使用 `low-res-test` 和 `high-res-test`。部分测试结果可能需要重新格式化预测文件，然后提交到测试服务器。\n\n要用本代码库评估 72B 模型，您需要在多个节点上运行，并可能需要设置 `PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True`。\n\n这些脚本会将指标和预测结果保存到指定目录。后续再次运行评估脚本时，如果存在缓存的指标，则会直接使用缓存结果；若需覆盖缓存结果，可使用 `--overwrite` 标志。\n\n### 使用 VLMEvalkit 进行评估\n也可以通过 [open-compass\u002FVLMEvalKit](https:\u002F\u002Fgithub.com\u002Fopen-compass\u002FVLMEvalKit) 对 Hugging Face 上的模型进行评估。请参考 [PR#648](https:\u002F\u002Fgithub.com\u002Fopen-compass\u002FVLMEvalKit\u002Fpull\u002F648)，了解支持的提示词和评估设置，以便复现论文中的结果。不过，某些数据集（如 PixMo-Count）并不受支持。\n\n## 用于初始化的预训练模型\n端到端训练需要下载用于初始化 Molmo 的预训练模型。这可以通过 `scripts\u002Fconvert_hf_to_molmo.py` 脚本完成。\n\n例如，要加载 Qwen2 LLM 和 OpenAI CLIP 模型，可以运行以下命令：\n\n```bash\npython3 scripts\u002Fconvert_hf_to_molmo.py qwen2_7b\npython3 scripts\u002Fconvert_hf_to_molmo.py openai\n```\n\n模型将从 Hugging Face 下载，转换为兼容格式后，保存到 `MOLMO_DATA_DIR` 目录中。\n\n## 预训练\n主训练脚本是 `scripts\u002Ftrain.py`。要训练模型，您可以构建一个配置文件并将其传递给该脚本，或者调用 `launch_scripts` 中的高级辅助脚本之一，这些脚本会根据一些高级设置构建底层配置，然后为您调用训练脚本。\n\n要启动调试运行：\n\n`torchrun --nproc-per-node=1 launch_scripts\u002Ftrain_captioner.py debug\n--save_folder=\u002Fpath\u002Fto\u002Fsave\u002Ffolder`\n\n要用 Qwen2 LLM 和 CLIP 视觉编码器进行训练：\n\n`WANDB_API_KEY=key torchrun --nproc-per-node=8 launch_scripts\u002Ftrain_captioner.py qwen2_7b\n--wandb.name=run_name --wandb.entity=entity --wandb.project=project --save_folder=\u002Fpath\u002Fto\u002Fsave\u002Ffolder`\n\n您还可以使用其他视觉编码器，包括 SigLIP、MetaCLIP 和 DINOv2，只需添加 `--vision_backbone=model_name` 选项即可。\n\n如果不想使用 Weights & Biases，可以这样运行：\n\n`torchrun --nproc-per-node=8 launch_scripts\u002Ftrain_captioner.py qwen2_7b\n--wandb=null --save_folder=\u002Fpath\u002Fto\u002Fsave\u002Ffolder`\n\n## 多任务训练\n多任务训练可以使用 `launch_scripts\u002Fmulttask_train.py` 来完成，例如：\n\n`WANDB_API_KEY=key torchrun --nproc-per-node=8 launch_scripts\u002Ftrain_multitask_model.py 3.2-synthetic \u002Fpath\u002Fto\u002Fcheckpoint\n--wandb.name=run_name --wandb.entity=entity --wandb.project=project\n--save_folder=\u002Fpath\u002Fto\u002Fsave\u002Ffolder\n`\n\n其中 `3.2-synthetic` 指的是使用的训练数据混合比例，而 `\u002Fpath\u002Fto\u002Fcheckpoint` 则指向一个用于开始训练的模型检查点，通常是密集字幕生成模型。\n\n要启动调试运行：\n\n`\ntorchrun --nproc-per-node=1 launch_scripts\u002Ftrain_multitask_model.py debug debug \n--save_folder=dbg --save_overwrite\n`\n\n## 训练变更\n我们训练的已发布 Molmo 模型与本仓库将生成的模型之间存在一些细微差异。\n\n- 图像 URL 可能无法下载，这会导致数据量略有减少。\n- PixMo-Clocks 默认情况下不被使用，因为它需要一个更复杂的下载脚本，我们仍在考虑如何移植该脚本。\n\n## 多节点\n在每个节点上执行带有[适当参数](https:\u002F\u002Fpytorch.org\u002Ftutorials\u002Fintermediate\u002Fddp_series_multinode.html)的 `torchrun` 命令，应该可以实现多节点训练或评估。\n\n我们建议先确保数据已下载完毕，然后使用环境变量 `HF_DATASETS_OFFLINE=1`，以防止各节点在初始化时同时向 Hugging Face 发起大量请求而导致被限流。\n\n## 引用\n\n```bibtex\n@article{molmo2024,\n  title={Molmo 和 PixMo：面向最先进多模态模型的开放权重与开放数据},\n  author={Matt Deitke、Christopher Clark、Sangho Lee、Rohun Tripathi、Yue Yang、Jae Sung Park、Mohammadreza Salehi、Niklas Muennighoff、Kyle Lo、Luca Soldaini、Jiasen Lu、Taira Anderson、Erin Bransom、Kiana Ehsani、Huong Ngo、YenSung Chen、Ajay Patel、Mark Yatskar、Chris Callison-Burch、Andrew Head、Rose Hendrix、Favyen Bastani、Eli VanderBilt、Nathan Lambert、Yvonne Chou、Arnavi Chheda、Jenna Sparks、Sam Skjonsberg、Michael Schmitz、Aaron Sarnat、Byron Bischoff、Pete Walsh、Chris Newell、Piper Wolters、Tanmay Gupta、Kuo-Hao Zeng、Jon Borchardt、Dirk Groeneveld、Jen Dumas、Crystal Nam、Sophie Lebrecht、Caitlin Wittlif、Carissa Schoenick、Oscar Michel、Ranjay Krishna、Luca Weihs、Noah A. Smith、Hannaneh Hajishirzi、Ross Girshick、Ali Farhadi、Aniruddha Kembhavi},\n  journal={arXiv 预印本 arXiv:2409.17146},\n  year={2024}\n}\n```","# Molmo 快速上手指南\n\nMolmo 是 Allen Institute for AI (Ai2) 推出的开源多模态大语言模型（VLM）系列，支持图像理解、详细描述生成及复杂视觉问答。本指南帮助中国开发者快速完成环境配置与基础使用。\n\n## 1. 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu 20.04+)\n*   **Python 版本**: 3.10 (强烈推荐，其他版本可能不兼容)\n*   **GPU**: 支持 CUDA 的 NVIDIA 显卡（显存需求视模型大小而定，7B 模型建议 24GB+，72B 需多卡或多节点）\n*   **前置依赖**:\n    *   已安装与系统匹配的 [PyTorch](https:\u002F\u002Fpytorch.org) (含 CUDA 支持)。\n    *   Git 客户端。\n\n> **注意**：若需训练或评估 `MolmoE-1B` (混合专家模型)，需额外安装 `megablocks`。\n\n## 2. 安装步骤\n\n### 2.1 克隆代码库并安装依赖\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fallenai\u002Fmolmo.git\ncd molmo\npip install -e .[all]\n```\n\n### 2.2 可选：安装 MoE 支持\n\n如果您计划使用 `MolmoE-1B` 模型，请执行以下命令：\n\n```bash\npip install git+https:\u002F\u002Fgithub.com\u002FMuennighoff\u002Fmegablocks.git@olmoe\n```\n\n### 2.3 配置数据缓存路径 (可选但推荐)\n\nMolmo 默认使用 Hugging Face 缓存。为避免占用系统盘空间，建议设置环境变量指向大容量存储目录：\n\n```bash\nexport MOLMO_DATA_DIR=\u002Fdata\u002Fmolmo\nexport HF_HOME=\u002Fdata\u002Fmolmo\u002Fhuggingface\n```\n\n### 2.4 下载数据集 (如需训练或本地评估)\n\n如果需要下载预训练或微调数据集（如 PixMo 系列），可使用官方脚本。全量下载耗时较长，支持断点续传：\n\n```bash\npython3 scripts\u002Fdownload.py all --n_proc 12\n```\n\n若只需下载特定数据集（例如 ChartQA）：\n\n```bash\npython3 scripts\u002Fdownload_data.py ChartQa --n_proc 12\n```\n\n## 3. 基本使用\n\nMolmo 模型权重可通过 Hugging Face 直接加载，或下载官方发布的 Tar 包使用。以下展示最通用的 **Hugging Face Transformers** 调用方式（需确保已安装 `transformers` 最新版）。\n\n### 3.1 最简单的推理示例\n\n以下代码演示如何加载 `Molmo-7B-D` 模型并进行简单的图像问答。\n\n```python\nimport torch\nfrom PIL import Image\nfrom transformers import AutoProcessor, AutoModelForCausalLM\n\n# 1. 指定模型名称 (推荐使用效果最好的 7B-D 版本)\nmodel_name = \"allenai\u002FMolmo-7B-D-0924\"\n\n# 2. 加载处理器和模型\nprocessor = AutoProcessor.from_pretrained(\n    model_name,\n    trust_remote_code=True,\n    torch_dtype=torch.bfloat16,\n    device_map=\"auto\"\n)\n\nmodel = AutoModelForCausalLM.from_pretrained(\n    model_name,\n    trust_remote_code=True,\n    torch_dtype=torch.bfloat16,\n    device_map=\"auto\"\n)\n\n# 3. 准备输入 (图像 + 问题)\n# 请替换为您的本地图片路径或 URL\nimage = Image.open(\"path\u002Fto\u002Fyour\u002Fimage.jpg\") \nprompt = \"Please describe this image in detail.\"\n\ninputs = processor.process(\n    images=[image],\n    text=prompt,\n    return_tensors=\"pt\"\n).to(model.device)\n\n# 4. 生成回答\noutput = model.generate_from_batch(\n    inputs,\n    generation_config=dict(max_new_tokens=200, stop_strings=\"\u003C|endofthought|>\"),\n    tokenizer=processor.tokenizer\n)\n\n# 5. 解析输出\ngenerated_ids = output.sequences[0][inputs['input_ids'].shape[1]:]\nresponse = processor.tokenizer.decode(generated_ids, skip_special_tokens=True)\n\nprint(response)\n```\n\n### 3.2 运行官方评估脚本\n\n若需复现论文中的基准测试成绩（如 TextVQA），可使用内置的评估脚本。支持 FSDP 以处理高分辨率图像：\n\n```bash\n# 单任务评估示例 (TextVQA)\ntorchrun --nproc-per-node 8 launch_scripts\u002Feval_downstream.py Molmo-7B-D-0924 text_vqa --save_to_checkpoint_dir\n\n# 高分辨率评估 (需开启 FSDP 防止显存溢出)\ntorchrun --nproc-per-node 8 launch_scripts\u002Feval_downstream.py Molmo-7B-D-0924 text_vqa --save_to_checkpoint_dir --high_res --fsdp --device_batch_size=2\n```\n\n> **提示**：对于生产环境的高并发推理，建议使用社区适配的 **vLLM** 版本，其推理速度显著优于原生代码库。","某电商平台的运营团队需要快速处理成千上万张新上架商品图，提取详细属性并生成用于搜索优化的描述文案。\n\n### 没有 molmo 时\n- **描述过于简略**：传统视觉模型只能输出“一件红色衬衫”等简短标签，缺乏面料、剪裁风格等关键销售信息，无法直接用于商品详情页。\n- **人工成本高昂**：运营人员必须逐张看图手动编写几百字的详细介绍，面对海量新品时效率极低且容易出错。\n- **复杂图表难理解**：对于包含尺码对照表或成分分析图的商品图片，通用模型往往无法准确读取图表数据并转化为文字解答。\n- **定位交互缺失**：当客服需要向用户指出图片中具体瑕疵或设计细节时，系统无法在图上精准标记坐标，只能靠口头模糊描述。\n\n### 使用 molmo 后\n- **生成密集详述**：molmo 能基于 PixMo-Cap 数据集的能力，为每张商品图自动生成平均 200 词左右的详细描述，涵盖材质触感和设计亮点。\n- **自动化工作流**：直接调用 molmo 批量处理图片，瞬间完成从“看图”到“写文案”的全过程，将原本数天的工作量缩短至分钟级。\n- **精准图表解析**：借助 PixMo-Docs 的训练成果，molmo 能准确识别图片中的尺码表或成分图，并回答“这件衣服含棉量多少”等具体问题。\n- **可视化指向回答**：利用 PixMo-Points 赋予的定位能力，molmo 在回答“领口在哪里”时，不仅能文字说明，还能直接输出对应的图像坐标点进行高亮标记。\n\nmolmo 通过将深度视觉理解与自然语言生成无缝结合，彻底改变了多模态内容的生产效率与交互精度。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fallenai_molmo_c8f3be6e.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",[84],{"name":85,"color":86,"percentage":87},"Python","#3572A5",100,896,94,"2026-04-04T19:41:38","Apache-2.0","Linux","必需 NVIDIA GPU。运行 7B 模型建议使用多卡或高显存显卡；评估 72B 模型需多节点集群。使用高分辨率处理或 FSDP 时需较大显存以避免 OOM。具体 CUDA 版本需根据安装的 PyTorch 版本确定（文中未明确指定具体版本号）。","未说明（建议根据模型大小配置充足内存，72B 模型训练\u002F评估需大量内存）",{"notes":96,"python":97,"dependencies":98},"1. 代码基于 OLMo 代码库，增加了视觉编码和生成式评估功能。\n2. 安装 PyTorch 需根据操作系统自行参考官方指令。\n3. 若训练或评估 MolmoE-1B 模型，需额外安装特定版本的 megablocks。\n4. 数据集默认存储在 Hugging Face 缓存中，可通过环境变量 MOLMO_DATA_DIR 和 HF_HOME 自定义路径。\n5. 下载 PixMo 数据集包含从 URL 下载图片，耗时较长（可能长达一天），支持断点续传。\n6. 部分数据集（如 InfoQa, Scene-Text）需手动下载文件。\n7. 评估 72B 模型时可能需要设置环境变量 PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True 以防止内存碎片化问题。","3.10",[99,100,101,102],"torch","megablocks (仅 MolmoE-1B 需要)","huggingface_hub","wandb",[26,14,54],"2026-03-27T02:49:30.150509","2026-04-06T09:46:13.803995",[107,112,117,122,127,132,137],{"id":108,"question_zh":109,"answer_zh":110,"source_url":111},16202,"在训练 Captioner 时，Prompt 部分出现的数字 \"41\" 代表什么含义？","数字 \"41\" 是训练过程中使用的“长度提示”（length hint）。它用于指导模型生成特定长度的描述。具体的技术细节可以参考论文的第 4 节开头或附录 B.1 部分。","https:\u002F\u002Fgithub.com\u002Fallenai\u002Fmolmo\u002Fissues\u002F18",{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},16197,"下载数据集（如 Points 或 Clocks）时进度卡住或无法获取图片，如何解决？","如果是网络问题导致卡住，尝试切换到更稳定的网络连接。对于特定的时钟数据集（pixmo-clocks），由于图片是在 HTML canvas 元素中渲染的，直接下载较复杂。最简单的解决方法是访问页面 `https:\u002F\u002Ffacer.io\u002Fwatchface\u002F{watchface_id}` 并对该页面进行截图来获取图片。如果下载脚本因外部链接维护而失败，可能需要等待源站恢复或修改代码以处理此类异常。","https:\u002F\u002Fgithub.com\u002Fallenai\u002Fmolmo\u002Fissues\u002F7",{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},16198,"如何使用自己的数据对 Molmo 模型进行微调？是否支持 Hugging Face Trainer？","目前仓库尚未提供专门用于自定义数据微调的脚本，也不直接提供使用 Hugging Face Trainer 的训练代码。如果遇到脚本启动错误（如 `ModuleNotFoundError: No module named 'launch_scripts'`），请尝试设置环境变量 `PYTHONPATH` 为当前目录：`PYTHONPATH=$(pwd)`。微调后的模型理论上兼容 vLLM 后端，但具体转换格式需根据实际运行情况调整。如有具体脚本报错，可向维护者反馈以寻求修复。","https:\u002F\u002Fgithub.com\u002Fallenai\u002Fmolmo\u002Fissues\u002F10",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},16199,"如何强制模型输出特定的结构化 JSON 格式？","目前除了通过提示词工程（Prompt Tuning）外，没有其他方式能强制模型输出结构化结果。如果模型经常生成无效的 JSON（缺少逗号、引号等），可以尝试以下方法：1. 要求模型输出非 JSON 的结构化格式（如 TSV），看是否更稳定；2. 尝试多种不同的提示词模板；3. 在生成后对输出进行解析，只保留格式正确的结果。","https:\u002F\u002Fgithub.com\u002Fallenai\u002Fmolmo\u002Fissues\u002F21",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},16200,"预训练过程中，损失函数（Loss）是仅计算助手（Assistant）的输出部分，还是包含整个输入序列？","在预训练过程中，损失函数仅计算助手（Assistant）的输出部分，不包含用户输入或其他标记。","https:\u002F\u002Fgithub.com\u002Fallenai\u002Fmolmo\u002Fissues\u002F19",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},16201,"在使用 Hugging Face 加载 Molmo 模型时，调用 processor 报错 \"TypeError: 'MolmoProcessor' object is not callable\" 怎么办？","Hugging Face 上的 Molmo 模型 API 略有不同，不能直接像函数一样调用 processor。你需要显式调用 `process` 方法。请将代码中的 `processor(...)` 修改为 `processor.process(...)`。例如：`inputs = processor.process(images=..., text=...)`。","https:\u002F\u002Fgithub.com\u002Fallenai\u002Fmolmo\u002Fissues\u002F17",{"id":138,"question_zh":139,"answer_zh":140,"source_url":121},16203,"运行训练脚本时遇到 \"ModuleNotFoundError: No module named 'launch_scripts'\" 错误如何解决？","该错误通常是因为 Python 无法找到本地模块。解决方法是将当前目录添加到 PYTHONPATH 环境变量中。在执行训练命令前，先运行：`export PYTHONPATH=$(pwd)`（Linux\u002FMac）或 `set PYTHONPATH=%cd%`（Windows），然后再运行 `torchrun` 或其他训练命令。",[]]