[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-DLYuanGod--TinyGPT-V":3,"tool-DLYuanGod--TinyGPT-V":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 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[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":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,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":75,"owner_location":75,"owner_email":75,"owner_twitter":75,"owner_website":75,"owner_url":76,"languages":77,"stars":82,"forks":83,"last_commit_at":84,"license":85,"difficulty_score":86,"env_os":87,"env_gpu":88,"env_ram":89,"env_deps":90,"category_tags":97,"github_topics":75,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":99,"updated_at":100,"faqs":101,"releases":137},9649,"DLYuanGod\u002FTinyGPT-V","TinyGPT-V","TinyGPT-V: Efficient Multimodal Large Language Model via Small Backbones","TinyGPT-V 是一款高效的多模态大语言模型，旨在通过轻量化的架构实现强大的图文理解能力。它主要解决了传统多模态模型依赖庞大骨干网络、导致计算资源消耗高且部署困难的问题。借助小型化主干网络（如 Phi-2），TinyGPT-V 在大幅降低参数量和推理成本的同时，性能仍能达到主流大型模型（如 InstructBLIP）的 98%，实现了效率与效果的出色平衡。\n\n这款工具非常适合研究人员探索轻量化多模态技术，也适合开发者将其集成到资源受限的边缘设备或实际应用中。对于希望低成本体验先进图文交互能力的技术爱好者，TinyGPT-V 同样提供了友好的在线演示和开源代码。\n\n其独特亮点在于创新的四阶段训练策略，通过逐步对齐视觉与语言特征，让小模型也能具备复杂的推理能力。此外，项目完全开源，提供了从环境配置、预训练权重下载到微调评估的完整流程，支持社区快速复现与二次开发。无论是用于学术研究还是构建轻量级 AI 应用，TinyGPT-V 都是一个兼具实用性与前沿性的优秀选择。","# TinyGPT-V\n\n\u003Cfont size='5'>**TinyGPT-V: Efficient Multimodal Large Language Model via Small Backbones**\u003C\u002Ffont>\n\n[Zhengqing Yuan](https:\u002F\u002Fdlyuangod.github.io\u002Fzhengqingyuan\u002F)✟, Zhaoxu Li❁, [Weiran Huang](https:\u002F\u002Fwww.weiranhuang.com\u002F)❋, [Yanfang Ye](http:\u002F\u002Fyes-lab.org\u002F)✟, [Lichao Sun](https:\u002F\u002Flichao-sun.github.io\u002F)❁\n\n✟University of Notre Dame, ❁Lehigh University, ❋Shanghai Jiao Tong University\n\nZhaoxu is a visiting student in the LAIR lab at Lehigh University.\n\n\u003C\u002Fa> \u003Ca href='https:\u002F\u002Farxiv.org\u002Fpdf\u002F2602.04816'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPaper-Arxiv-red'>\u003C\u002Fa>  \u003Ca href='https:\u002F\u002Fhuggingface.co\u002FTyrannosaurus\u002FTinyGPT-V'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Model-blue'>\u003C\u002Fa> \u003Ca href='https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fllizhx\u002FTinyGPT-V'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Spaces-blue'> \n\nEnglish | [简体中文](\u002FREADME_zh-CN.md)\n\n\u003C\u002Ffont>\n\n## News\n[Apr.08 2024] Update our paper v2. We revised some type errors, provided more details and updated TinyGPT-V lastest results.\n\n[Mar.20 2024] Update the Phi-2 weight download link.\n\n[Jan.22 2024] Welcome to Hugging Face online demo to try out our models (for Stage-4 v1)!\n\n[Jan.19 2024] Major Updates! We are officially releasing v1 of TinyGPT-V! After our evaluation, the performance of TinyGPT-V has reached 98% of InstructBLIP's performance and exceeds the performance of other models of the same period!\n\n[Jan.03 2024] Welcome to Hugging Face online demo to try out our models (for Stage-3)!\n\n[Dec.28 2023] Breaking! We release the code of our TinyGPT-V.\n\n\n\n## TinyGPT-V Model Structure\n### Whole Model Structure\n![Model](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDLYuanGod_TinyGPT-V_readme_afb7ea2630d5.png)\n### Language Model Structure\n![Model](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDLYuanGod_TinyGPT-V_readme_11af1ff67c19.png)\n\n## TinyGPT-V Traning Process\n![Traning_Process](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDLYuanGod_TinyGPT-V_readme_2a5a399e5b9e.png)\n\n## TinyGPT-V Results\n### Radar Chart\n![Results](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDLYuanGod_TinyGPT-V_readme_3bd6e8c370a4.png)\n\n### Performance and Efficiency\n![Results](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDLYuanGod_TinyGPT-V_readme_d0de27b384ca.png)\n\n\n\n## Getting Started\n### Installation\n\n**1. Prepare the code and the environment**\n\nGit clone our repository, creating a python environment and activate it via the following command\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FDLYuanGod\u002FTinyGPT-V.git\ncd TinyGPT-V\nconda env create -f environment.yml\nconda activate tinygptv\n```\n\n\n**2. Prepare the pretrained LLM weights**\n\n**TinyGPT-V** is based on Phi-2. \nDownload the corresponding LLM weights from the following huggingface space via clone the repository using git-lfs.\n\nPhi-2 2.7B: [Download](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fllizhx\u002FTinyGPT-V\u002Ftree\u002Fmain\u002Fphi-2)\n\n\nThen, set the variable *phi_model* in the model config file to the LLM weight path.\n\n* Set the LLM path [here](minigpt4\u002Fconfigs\u002Fmodels\u002Fminigpt_v2.yaml#L14) at Line 14, [here](minigpt4\u002Fconfigs\u002Fmodels\u002Fminigpt4_vicuna0.yaml#L18) at Line 18 and [here](minigpt4\u002Fconversation\u002Fconversation.py#L16) at Line 16.\n\n\n\n\n\n**3. Prepare the pretrained model checkpoints**\n\nDownload the pretrained model checkpoints\n\n\n| After stage-1 | After stage-2 | After stage-3| After stage-4 | \n| ------ | ------ | ------ | -------|\n| [Download](https:\u002F\u002Fhuggingface.co\u002FTyrannosaurus\u002FTinyGPT-V\u002Fblob\u002Fmain\u002FTinyGPT-V_for_Stage1.pth) |[Download](https:\u002F\u002Fhuggingface.co\u002FTyrannosaurus\u002FTinyGPT-V\u002Fblob\u002Fmain\u002FTinyGPT-V_for_Stage2.pth) | [Download](https:\u002F\u002Fhuggingface.co\u002FTyrannosaurus\u002FTinyGPT-V\u002Fblob\u002Fmain\u002FTinyGPT-V_for_Stage3.pth) |[Download](https:\u002F\u002Fhuggingface.co\u002FTyrannosaurus\u002FTinyGPT-V\u002Fblob\u002Fmain\u002FTinyGPT-V_for_Stage4.pth) |\n\n\nFor **TinyGPT-V**, set the path to the pretrained checkpoint in the evaluation config file \nin [tinygptv_stage1_2_3_eval.yaml](eval_configs\u002Ftinygptv_stage1_2_3_eval.yaml#L8) at Line 8 for Stage 1, 2 and 3 version or [tinygptv_stage4_eval.yaml](eval_configs\u002Ftinygptv_stage4_eval.yaml#L8) for Stage 4 version.   \n\n\n**4. Update the Phi-2 Modeling for transformers lib.**\n\nLinux system:\n\n```\ncp modeling_phi.py \u002Froot\u002Fminiconda3\u002Fenvs\u002Ftinygptv\u002Flib\u002Fpython3.9\u002Fsite-packages\u002Ftransformers\u002Fmodels\u002Fphi\u002F\n```\n\nWindows system \n\nFind your conda yourself: conda_sit\u002Fenvs\u002Ftinygptv\u002Flib\u002Fpython3.9\u002Fsite-packages\u002Ftransformers\u002Fmodels\u002Fphi\u002F Replace modeling_phi.py in that directory with the one in TinyGPT-V\u002Fmodeling_phi.py.\n\n\n### Launching Demo Locally\n\nFor Stage 4, run\n\n```\npython demo_v2.py --cfg-path eval_configs\u002Ftinygptv_stage4_eval.yaml  --gpu-id 0\n```\n\nNote: Stage 4 will have some Grounding abilities. But the performance is not very good, we are working on this!\n\n\nFor Stage 1, 2 and 3, run\n\n```\npython demo.py --cfg-path eval_configs\u002Ftinygptv_stage1_2_3_eval.yaml  --gpu-id 0\n```\n\n\nTo perfer more powerful model, LLMs loads as 16 bit by default. This configuration requires about 8G GPU memory. \nTo more save GPU memory, you can run the model\nin 8 bit below 8G device by setting `low_resource` to `True` in the relevant config file:\n\n* Stage 4 [tinygptv_stage4_eval.yaml](eval_configs\u002Ftinygptv_stage4_eval.yaml#6) \n\n* Stage 1, 2 and 3 [tinygptv_stage1_2_3_eval.yaml](eval_configs\u002Ftinygptv_stage1_2_3_eval.yaml#6) \n\n\n### Training\n\nFirst you need to adjust all the updated weights in the LLM to be calculated with full precision:[Here](minigpt4\\models\\base_model.py). Remove the comments from the following lines:\n\n```\n                layer.self_attn.q_layernorm.weight.data = layer.self_attn.q_layernorm.weight.data.float()\n                layer.self_attn.k_layernorm.weight.data = layer.self_attn.k_layernorm.weight.data.float()\n                layer.post_layernorm.weight.data = layer.post_layernorm.weight.data.float()\n                layer.input_layernorm.weight.data = layer.input_layernorm.weight.data.float()\n\n                # Perform a similar operation for the bias item\n                if layer.self_attn.q_layernorm.bias is not None:\n                    layer.self_attn.q_layernorm.bias.data = layer.self_attn.q_layernorm.bias.data.float()\n                if layer.self_attn.k_layernorm.bias is not None:\n                    layer.self_attn.k_layernorm.bias.data = layer.self_attn.k_layernorm.bias.data.float()\n                if layer.input_layernorm.bias is not None:\n                    layer.input_layernorm.bias.data = layer.input_layernorm.bias.data.float()\n\n\n            llama_model.model.model.final_layernorm.weight.requires_grad = True\n            llama_model.model.model.final_layernorm.weight.data = llama_model.model.model.final_layernorm.weight.data.float()\n            if llama_model.model.model.final_layernorm.bias is not None:\n                llama_model.model.model.final_layernorm.bias.data = llama_model.model.model.final_layernorm.bias.float()\n```\n\n**Stage 1 and 2:**\n\n* Datasets: [first stage dataset preparation instruction](https:\u002F\u002Fgithub.com\u002FVision-CAIR\u002FMiniGPT-4\u002Fblob\u002Fmain\u002Fdataset\u002FREADME_1_STAGE.md)\n\n* Then run:\n```\ntorchrun --nproc-per-node NUM_GPU train.py --cfg-path train_configs\u002Ftinygptv_stage1.yaml\n```\nYou need to execute the above code 17 times to complete the first stage of training.\n\n* Then run:\n```\ntorchrun --nproc-per-node NUM_GPU train.py --cfg-path train_configs\u002Ftinygptv_stage2.yaml\n```\n\n**Stage 3:**\n\n* Datasets: [stage 3 dataset preparation instruction](https:\u002F\u002Fgithub.com\u002FVision-CAIR\u002FMiniGPT-4\u002Fblob\u002Fmain\u002Fdataset\u002FREADME_2_STAGE.md)\n\n* Then run:\n```\ntorchrun --nproc-per-node NUM_GPU train.py --cfg-path train_configs\u002Ftinygptv_stage3.yaml\n```\n\n**Stage 4:**\n\n* Datasets: [stage 4 dataset preparation instruction](https:\u002F\u002Fgithub.com\u002FVision-CAIR\u002FMiniGPT-4\u002Fblob\u002Fmain\u002Fdataset\u002FREADME_MINIGPTv2_FINETUNE.md).\n\n* Then run:\n```\ntorchrun --nproc-per-node NUM_GPU train.py --cfg-path train_configs\u002Ftinygptv_stage4.yaml\n```\n\n### Evaluation\nFor eval. details of TinyGPT-V, check [here](eval_scripts\u002FEVAL_README.md)  \n\n\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDLYuanGod_TinyGPT-V_readme_1c43ce971d2f.png)](https:\u002F\u002Fstar-history.com\u002F#DLYuanGod\u002FTinyGPT-V&Date)\n\n\n## Acknowledgement\n\n+ [MiniGPT](https:\u002F\u002Fgithub.com\u002FVision-CAIR\u002FMiniGPT-4) A very versatile model of MLLMs.\n\n\nIf you're using TinyGPT-V in your research or applications, please cite using this BibTeX:\n```bibtex\n\n@misc{yuan2024tinygptv,\n      title={TinyGPT-V: Efficient Multimodal Large Language Model via Small Backbones}, \n      author={Zhengqing Yuan and Zhaoxu Li and Weiran Huang and Yanfang Ye and Lichao Sun},\n      year={2024},\n      eprint={2312.16862},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV}\n}\n```\n\n\n## License\nThis repository is under [BSD 3-Clause License](LICENSE.md).\nMany codes are based on [Lavis](https:\u002F\u002Fgithub.com\u002Fsalesforce\u002FLAVIS) with \nBSD 3-Clause License [here](LICENSE_Lavis.md).\n","# TinyGPT-V\n\n\u003Cfont size='5'>**TinyGPT-V：基于小型骨干网络的高效多模态大语言模型**\u003C\u002Ffont>\n\n[袁正清](https:\u002F\u002Fdlyuangod.github.io\u002Fzhengqingyuan\u002F)✟, 李兆旭❁, [黄伟然](https:\u002F\u002Fwww.weiranhuang.com\u002F)❋, [叶燕芳](http:\u002F\u002Fyes-lab.org\u002F)✟, [孙立超](https:\u002F\u002Flichao-sun.github.io\u002F)❁\n\n✟圣母大学，❁莱high大学，❋上海交通大学\n\n李兆旭是莱high大学LAIR实验室的访问学生。\n\n\u003C\u002Fa> \u003Ca href='https:\u002F\u002Farxiv.org\u002Fpdf\u002F2602.04816'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPaper-Arxiv-red'>\u003C\u002Fa>  \u003Ca href='https:\u002F\u002Fhuggingface.co\u002FTyrannosaurus\u002FTinyGPT-V'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Model-blue'>\u003C\u002Fa> \u003Ca href='https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fllizhx\u002FTinyGPT-V'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Spaces-blue'> \n\n英语 | [简体中文](\u002FREADME_zh-CN.md)\n\n\u003C\u002Ffont>\n\n## 新闻\n[2024年4月8日] 更新论文v2版本。我们修正了一些排版错误，提供了更多细节，并更新了TinyGPT-V的最新结果。\n\n[2024年3月20日] 更新Phi-2权重下载链接。\n\n[2024年1月22日] 欢迎访问Hugging Face在线演示，试用我们的模型（适用于Stage-4 v1）！\n\n[2024年1月19日] 重大更新！我们正式发布TinyGPT-V v1版本！经评估，TinyGPT-V的性能已达到InstructBLIP的98%，并超越了同期其他模型！\n\n[2024年1月3日] 欢迎访问Hugging Face在线演示，试用我们的模型（适用于Stage-3）！\n\n[2023年12月28日] 突发！我们发布了TinyGPT-V的代码。\n\n\n\n## TinyGPT-V模型结构\n### 整体模型结构\n![模型](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDLYuanGod_TinyGPT-V_readme_afb7ea2630d5.png)\n### 语言模型结构\n![模型](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDLYuanGod_TinyGPT-V_readme_11af1ff67c19.png)\n\n## TinyGPT-V训练流程\n![Traning_Process](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDLYuanGod_TinyGPT-V_readme_2a5a399e5b9e.png)\n\n## TinyGPT-V结果\n### 雷达图\n![Results](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDLYuanGod_TinyGPT-V_readme_3bd6e8c370a4.png)\n\n### 性能与效率\n![Results](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDLYuanGod_TinyGPT-V_readme_d0de27b384ca.png)\n\n\n\n## 开始使用\n### 安装\n\n**1. 准备代码和环境**\n\n克隆我们的仓库，创建Python环境并激活：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FDLYuanGod\u002FTinyGPT-V.git\ncd TinyGPT-V\nconda env create -f environment.yml\nconda activate tinygptv\n```\n\n\n**2. 准备预训练LLM权重**\n\n**TinyGPT-V**基于Phi-2。\n通过git-lfs克隆以下Hugging Face空间，下载相应的LLM权重。\n\nPhi-2 2.7B：[下载](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fllizhx\u002FTinyGPT-V\u002Ftree\u002Fmain\u002Fphi-2)\n\n\n然后，在模型配置文件中将*phi_model*变量设置为LLM权重路径。\n\n* 在[这里](minigpt4\u002Fconfigs\u002Fmodels\u002Fminigpt_v2.yaml#L14)第14行、[这里](minigpt4\u002Fconfigs\u002Fmodels\u002Fminigpt4_vicuna0.yaml#L18)第18行以及[这里](minigpt4\u002Fconversation\u002Fconversation.py#L16)第16行设置LLM路径。\n\n\n\n\n\n**3. 准备预训练模型检查点**\n\n下载预训练模型检查点\n\n\n| Stage-1之后 | Stage-2之后 | Stage-3之后 | Stage-4之后 |\n| ------ | ------ | ------ | -------|\n| [下载](https:\u002F\u002Fhuggingface.co\u002FTyrannosaurus\u002FTinyGPT-V\u002Fblob\u002Fmain\u002FTinyGPT-V_for_Stage1.pth) |[下载](https:\u002F\u002Fhuggingface.co\u002FTyrannosaurus\u002FTinyGPT-V\u002Fblob\u002Fmain\u002FTinyGPT-V_for_Stage2.pth) | [下载](https:\u002F\u002Fhuggingface.co\u002FTyrannosaurus\u002FTinyGPT-V\u002Fblob\u002Fmain\u002FTinyGPT-V_for_Stage3.pth) |[下载](https:\u002F\u002Fhuggingface.co\u002FTyrannosaurus\u002FTinyGPT-V\u002Fblob\u002Fmain\u002FTinyGPT-V_for_Stage4.pth) |\n\n\n对于**TinyGPT-V**，在评估配置文件中设置预训练检查点路径：\n在[tinygptv_stage1_2_3_eval.yaml](eval_configs\u002Ftinygptv_stage1_2_3_eval.yaml#L8)第8行设置Stage 1、2和3版本；在[tinygptv_stage4_eval.yaml](eval_configs\u002Ftinygptv_stage4_eval.yaml#L8)第8行设置Stage 4版本。   \n\n\n**4. 更新Phi-2的transformers库模型实现。**\n\nLinux系统：\n\n```\ncp modeling_phi.py \u002Froot\u002Fminiconda3\u002Fenvs\u002Ftinygptv\u002Flib\u002Fpython3.9\u002Fsite-packages\u002Ftransformers\u002Fmodels\u002Fphi\u002F\n```\n\nWindows系统\n\n找到你的conda环境：conda_sit\u002Fenvs\u002Ftinygptv\u002Flib\u002Fpython3.9\u002Fsite-packages\u002Ftransformers\u002Fmodels\u002Fphi\u002F 将该目录下的modeling_phi.py替换为TinyGPT-V中的modeling_phi.py版本。\n\n\n### 本地运行演示\n\n对于Stage 4，运行：\n\n```\npython demo_v2.py --cfg-path eval_configs\u002Ftinygptv_stage4_eval.yaml  --gpu-id 0\n```\n\n注意：Stage 4具备一定的定位能力，但效果尚不理想，我们正在改进！\n\n\n对于Stage 1、2和3，运行：\n\n```\npython demo.py --cfg-path eval_configs\u002Ftinygptv_stage1_2_3_eval.yaml  --gpu-id 0\n```\n\n\n若希望获得更强的性能，LLMs默认以16位加载。此配置需要约8GB显存。若想节省显存，可在相关配置文件中将`low_resource`设置为`True`，以8位模式运行模型，适用于显存低于8GB的设备：\n\n* Stage 4 [tinygptv_stage4_eval.yaml](eval_configs\u002Ftinygptv_stage4_eval.yaml#6) \n\n* Stage 1、2和3 [tinygptv_stage1_2_3_eval.yaml](eval_configs\u002Ftinygptv_stage1_2_3_eval.yaml#6)\n\n### 训练\n\n首先，你需要将 LLM 中所有更新后的权重调整为以全精度进行计算：[此处](minigpt4\\models\\base_model.py)。请移除以下代码行的注释：\n\n```\n                layer.self_attn.q_layernorm.weight.data = layer.self_attn.q_layernorm.weight.data.float()\n                layer.self_attn.k_layernorm.weight.data = layer.self_attn.k_layernorm.weight.data.float()\n                layer.post_layernorm.weight.data = layer.post_layernorm.weight.data.float()\n                layer.input_layernorm.weight.data = layer.input_layernorm.weight.data.float()\n\n                # 对偏置项执行类似操作\n                if layer.self_attn.q_layernorm.bias is not None:\n                    layer.self_attn.q_layernorm.bias.data = layer.self_attn.q_layernorm.bias.data.float()\n                if layer.self_attn.k_layernorm.bias is not None:\n                    layer.self_attn.k_layernorm.bias.data = layer.self_attn.k_layernorm.bias.data.float()\n                if layer.input_layernorm.bias is not None:\n                    layer.input_layernorm.bias.data = layer.input_layernorm.bias.data.float()\n\n\n            llama_model.model.model.final_layernorm.weight.requires_grad = True\n            llama_model.model.model.final_layernorm.weight.data = llama_model.model.model.final_layernorm.weight.data.float()\n            if llama_model.model.model.final_layernorm.bias is not None:\n                llama_model.model.model.final_layernorm.bias.data = llama_model.model.model.final_layernorm.bias.float()\n```\n\n**阶段 1 和 2：**\n\n* 数据集：[第一阶段数据集准备说明](https:\u002F\u002Fgithub.com\u002FVision-CAIR\u002FMiniGPT-4\u002Fblob\u002Fmain\u002Fdataset\u002FREADME_1_STAGE.md)\n\n* 然后运行：\n```\ntorchrun --nproc-per-node NUM_GPU train.py --cfg-path train_configs\u002Ftinygptv_stage1.yaml\n```\n你需要执行上述命令 17 次，才能完成第一阶段的训练。\n\n* 然后运行：\n```\ntorchrun --nproc-per-node NUM_GPU train.py --cfg-path train_configs\u002Ftinygptv_stage2.yaml\n```\n\n**阶段 3：**\n\n* 数据集：[第三阶段数据集准备说明](https:\u002F\u002Fgithub.com\u002FVision-CAIR\u002FMiniGPT-4\u002Fblob\u002Fmain\u002Fdataset\u002FREADME_2_STAGE.md)\n\n* 然后运行：\n```\ntorchrun --nproc-per-node NUM_GPU train.py --cfg-path train_configs\u002Ftinygptv_stage3.yaml\n```\n\n**阶段 4：**\n\n* 数据集：[第四阶段数据集准备说明](https:\u002F\u002Fgithub.com\u002FVision-CAIR\u002FMiniGPT-4\u002Fblob\u002Fmain\u002Fdataset\u002FREADME_MINIGPTv2_FINETUNE.md)。\n\n* 然后运行：\n```\ntorchrun --nproc-per-node NUM_GPU train.py --cfg-path train_configs\u002Ftinygptv_stage4.yaml\n```\n\n### 评估\n有关 TinyGPT-V 的评估详情，请查看 [此处](eval_scripts\u002FEVAL_README.md)。\n\n\n\n## 星标历史\n\n[![星标历史图](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDLYuanGod_TinyGPT-V_readme_1c43ce971d2f.png)](https:\u002F\u002Fstar-history.com\u002F#DLYuanGod\u002FTinyGPT-V&Date)\n\n\n## 致谢\n\n+ [MiniGPT](https:\u002F\u002Fgithub.com\u002FVision-CAIR\u002FMiniGPT-4)，一款非常通用的多模态大语言模型。\n\n\n如果你在研究或应用中使用了 TinyGPT-V，请使用以下 BibTeX 格式引用：\n```bibtex\n\n@misc{yuan2024tinygptv,\n      title={TinyGPT-V: Efficient Multimodal Large Language Model via Small Backbones}, \n      author={Zhengqing Yuan and Zhaoxu Li and Weiran Huang and Yanfang Ye and Lichao Sun},\n      year={2024},\n      eprint={2312.16862},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV}\n}\n```\n\n\n## 许可证\n本仓库采用 [BSD 3-Clause 许可证](LICENSE.md)。\n许多代码基于 [Lavis](https:\u002F\u002Fgithub.com\u002Fsalesforce\u002FLAVIS)，其许可证为 BSD 3-Clause，详见 [此处](LICENSE_Lavis.md)。","# TinyGPT-V 快速上手指南\n\nTinyGPT-V 是一个基于小型骨干网络（Phi-2）的高效多模态大语言模型。本指南将帮助你快速在本地部署并运行该模型。\n\n## 1. 环境准备\n\n*   **操作系统**: Linux (推荐) 或 Windows\n*   **硬件要求**: \n    *   GPU 显存：默认加载 16-bit 模型需约 8GB 显存；若显存低于 8GB，可通过配置开启 8-bit 模式。\n*   **前置依赖**: \n    *   Git & Git-LFS (用于下载大模型权重)\n    *   Conda (推荐用于环境管理)\n    *   Python 3.9\n\n## 2. 安装步骤\n\n### 第一步：克隆代码与创建环境\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FDLYuanGod\u002FTinyGPT-V.git\ncd TinyGPT-V\nconda env create -f environment.yml\nconda activate tinygptv\n```\n\n### 第二步：准备预训练 LLM 权重 (Phi-2)\n\nTinyGPT-V 基于 Phi-2 (2.7B) 构建。请使用 `git-lfs` 下载权重：\n\n```bash\n# 确保已安装 git-lfs\ngit lfs install\n# 克隆权重仓库（此处以 HuggingFace 为例，国内用户若访问慢可尝试镜像站或手动下载后放入对应目录）\ngit clone https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fllizhx\u002FTinyGPT-V\u002Ftree\u002Fmain\u002Fphi-2\n```\n\n**配置路径**：\n下载完成后，需在以下三个文件的指定行中，将 `phi_model` 变量修改为你本地的权重路径：\n1. `minigpt4\u002Fconfigs\u002Fmodels\u002Fminigpt_v2.yaml` (第 14 行)\n2. `minigpt4\u002Fconfigs\u002Fmodels\u002Fminigpt4_vicuna0.yaml` (第 18 行)\n3. `minigpt4\u002Fconversation\u002Fconversation.py` (第 16 行)\n\n### 第三步：下载模型检查点 (Checkpoints)\n\n根据你需要使用的阶段（Stage），下载对应的预训练权重：\n\n| 阶段 | 用途 | 下载地址 |\n| :--- | :--- | :--- |\n| Stage 1-3 | 基础对话与理解 | [Download Stage 1-3](https:\u002F\u002Fhuggingface.co\u002FTyrannosaurus\u002FTinyGPT-V\u002Fblob\u002Fmain\u002FTinyGPT-V_for_Stage3.pth) |\n| Stage 4 | 包含定位能力 (Grounding) | [Download Stage 4](https:\u002F\u002Fhuggingface.co\u002FTyrannosaurus\u002FTinyGPT-V\u002Fblob\u002Fmain\u002FTinyGPT-V_for_Stage4.pth) |\n\n**配置路径**：\n*   **Stage 1-3**: 修改 `eval_configs\u002Ftinygptv_stage1_2_3_eval.yaml` 第 8 行。\n*   **Stage 4**: 修改 `eval_configs\u002Ftinygptv_stage4_eval.yaml` 第 8 行。\n\n### 第四步：更新 Transformers 库文件 (关键)\n\n必须替换 `transformers` 库中的 Phi 模型文件以适配本项目。\n\n**Linux 系统:**\n```bash\ncp modeling_phi.py \u002Froot\u002Fminiconda3\u002Fenvs\u002Ftinygptv\u002Flib\u002Fpython3.9\u002Fsite-packages\u002Ftransformers\u002Fmodels\u002Fphi\u002F\n```\n*(注意：请根据你的实际 conda 环境路径调整上述命令中的目录)*\n\n**Windows 系统:**\n找到你的 conda 环境目录（例如：`conda_sit\u002Fenvs\u002Ftinygptv\u002Flib\u002Fpython3.9\u002Fsite-packages\u002Ftransformers\u002Fmodels\u002Fphi\u002F`），将项目根目录下的 `TinyGPT-V\u002Fmodeling_phi.py` 复制并覆盖该目录下的同名文件。\n\n## 3. 基本使用\n\n### 启动本地演示 (Demo)\n\n**方案 A：运行 Stage 4 版本 (含定位能力)**\n*注：目前 Grounding 性能仍在优化中。*\n```bash\npython demo_v2.py --cfg-path eval_configs\u002Ftinygptv_stage4_eval.yaml  --gpu-id 0\n```\n\n**方案 B：运行 Stage 1\u002F2\u002F3 版本 (推荐用于稳定对话)**\n```bash\npython demo.py --cfg-path eval_configs\u002Ftinygptv_stage1_2_3_eval.yaml  --gpu-id 0\n```\n\n### 低显存模式 (可选)\n\n如果你的 GPU 显存小于 8GB，请在对应的配置文件（`.yaml`）第 6 行左右，将 `low_resource` 设置为 `True` 以启用 8-bit 加载模式：\n*   Stage 4: `eval_configs\u002Ftinygptv_stage4_eval.yaml`\n*   Stage 1-3: `eval_configs\u002Ftinygptv_stage1_2_3_eval.yaml`\n\n启动命令保持不变，模型将以更低显存占用运行。","某初创教育科技公司希望在其移动端 App 中集成“拍照搜题”功能，让资源有限的学生能通过手机摄像头上传题目图片并获取详细解析。\n\n### 没有 TinyGPT-V 时\n- **部署成本高昂**：传统多模态大模型（如 InstructBLIP）参数量巨大，需要昂贵的 GPU 服务器集群支持，初创团队难以承担云端推理的高额账单。\n- **响应延迟严重**：由于模型体积庞大，网络传输和推理耗时较长，用户上传图片后往往需等待数秒甚至更久才能看到结果，严重影响学习体验。\n- **端侧运行无望**：模型无法在普通智能手机或边缘设备上本地运行，导致在无网络环境下功能完全不可用，限制了使用场景。\n- **迭代维护困难**：庞大的模型结构使得微调和更新变得复杂且耗时，难以针对特定的教辅数据快速优化模型表现。\n\n### 使用 TinyGPT-V 后\n- **大幅降低算力门槛**：TinyGPT-V 基于 Phi-2 等小型骨干网络构建，在保持高性能的同时显著减小了模型体积，使得单张消费级显卡甚至边缘设备即可流畅运行，云服务成本降低 90% 以上。\n- **实现毫秒级响应**：得益于高效的架构设计，推理速度大幅提升，学生拍照后几乎能实时获得题目解析，交互体验丝滑流畅。\n- **支持端云协同部署**：轻量化特性使得 TinyGPT-V 有机会直接部署在高端手机终端，即使在离线状态下也能提供基础的搜题服务，极大扩展了适用人群。\n- **快速定制与迭代**：较小的参数量让团队能够利用自有的教辅数据集快速完成微调（Fine-tuning），迅速适配新的题型和解题风格，保持内容竞争力。\n\nTinyGPT-V 通过“小骨干”实现了“大能力”，让资源受限的团队也能低成本、高效率地落地高质量的多模态 AI 应用。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDLYuanGod_TinyGPT-V_3bd6e8c3.png","DLYuanGod","Zhengqing Yuan","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FDLYuanGod_f7e6aeb4.jpg",null,"https:\u002F\u002Fgithub.com\u002FDLYuanGod",[78],{"name":79,"color":80,"percentage":81},"Python","#3572A5",100,1310,79,"2026-04-17T14:16:13","BSD-3-Clause",4,"Linux, Windows","需要 NVIDIA GPU，默认 16 位精度需约 8GB 显存；可通过配置 low_resource=True 在低于 8GB 显存的设备上以 8 位精度运行","未说明",{"notes":91,"python":92,"dependencies":93},"基于 Phi-2 (2.7B) 模型。安装后必须手动将项目中的 modeling_phi.py 文件复制覆盖到 transformers 库的对应目录中以更新 Phi-2 建模逻辑。训练第一阶段需重复执行脚本 17 次。","3.9",[94,95,96],"torch","transformers","conda",[35,15,98],"其他","2026-03-27T02:49:30.150509","2026-04-20T04:05:16.593605",[102,107,112,117,122,127,132],{"id":103,"question_zh":104,"answer_zh":105,"source_url":106},43345,"启动 Gradio 演示界面时报错或行为异常是什么原因？","这通常是因为 Gradio 版本不兼容或未使用标准环境构建。请检查是否使用了项目提供的 `environment.yml` 创建环境。如果手动安装了其他库或升级了 Gradio，可能会导致冲突。解决方案是删除当前环境并严格按照 `environment.yml` 重新构建环境，不要随意升级单个包。","https:\u002F\u002Fgithub.com\u002FDLYuanGod\u002FTinyGPT-V\u002Fissues\u002F21",{"id":108,"question_zh":109,"answer_zh":110,"source_url":111},43341,"遇到 'PhiAttention' 对象缺少 'q_layernorm' 或 'k_layernorm' 属性错误怎么办？","这是因为使用了不匹配的 Phi 模型文件。解决方法是替换 transformers 库中的文件：将项目目录下的 `TinyGPT-V\u002Fmodeling_phi.py` 复制并覆盖到 transformers 库安装目录下的 `model\u002Fphi\u002Fmodeling_phi.py`。也可以参考 README 中“Getting Started”第 4 节的说明进行操作。","https:\u002F\u002Fgithub.com\u002FDLYuanGod\u002FTinyGPT-V\u002Fissues\u002F5",{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},43342,"运行 demo 时出现 'Target modules not found in the base model' 错误如何解决？","通常是因为复制了错误的 Phi 模型文件。请检查是否误用了 `TinyGPT-V\u002Fminigpt4\u002Fmodels\u002Fmodeling_phi.py`。正确的做法是使用 `TinyGPT-V\u002Fmodeling_phi.py` 文件。请确保将该正确文件复制到相应位置以替换默认实现。","https:\u002F\u002Fgithub.com\u002FDLYuanGod\u002FTinyGPT-V\u002Fissues\u002F9",{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},43343,"无法从 Hugging Face 下载模型检查点，有其他下载方式吗？","目前该模型依赖 Phi-2 的 pth 文件，由于版权许可问题，维护者暂时无法将其上传到 ModelScope 等其他平台。用户需要自行从 Hugging Face 下载 Phi-2 模型。建议关注项目更新，未来可能会提供替代下载源。","https:\u002F\u002Fgithub.com\u002FDLYuanGod\u002FTinyGPT-V\u002Fissues\u002F12",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},43344,"运行推理或训练时出现环境依赖错误或 FP16 梯度缩放错误怎么办？","这类错误通常由环境配置不当引起。强烈建议使用项目提供的 `environment.yml` 文件重新创建完整的 conda 环境，而不是手动补充安装包。如果之前是通过 pip 单独安装的，请执行以下命令重建环境：\n1. `conda remove --name tinygptv --all`\n2. `conda env create -f environment.yml`\n确保 Python 版本为 3.9，并严格按照 yml 文件安装依赖。","https:\u002F\u002Fgithub.com\u002FDLYuanGod\u002FTinyGPT-V\u002Fissues\u002F17",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},43346,"在 Stage 4 训练中 Q-Former 是否应该被冻结（不训练）？","根据论文描述，Q-Former 在 Stage 4 不应被训练。但在当前代码版本中，Stage 4 实际上是一个测试版本，默认设置并未冻结 Q-Former（freeze=False）。维护者确认在未来的正式释放版本中会修正此逻辑，确保 Q-Former 在该阶段不被训练。如需严格复现论文，用户需手动修改代码冻结相关参数。","https:\u002F\u002Fgithub.com\u002FDLYuanGod\u002FTinyGPT-V\u002Fissues\u002F23",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},43347,"在远程 Jupyter 环境中无法通过 conda 安装环境怎么办？","这可能是由于 conda 无法找到特定版本的 transformers 库（如 4.37dev）。维护者已更新 `environment.yml` 文件以解决此问题。请拉取最新的代码仓库，然后执行以下命令重装环境：\n1. `conda remove --name tinygptv --all`\n2. `conda env create -f environment.yml`\n更新后的配置文件应能解决远程环境安装失败的问题。","https:\u002F\u002Fgithub.com\u002FDLYuanGod\u002FTinyGPT-V\u002Fissues\u002F4",[]]