[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-luogen1996--LaVIN":3,"similar-luogen1996--LaVIN":91},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":8,"readme_en":9,"readme_zh":10,"quickstart_zh":11,"use_case_zh":12,"hero_image_url":13,"owner_login":14,"owner_name":15,"owner_avatar_url":16,"owner_bio":15,"owner_company":15,"owner_location":15,"owner_email":15,"owner_twitter":15,"owner_website":15,"owner_url":17,"languages":18,"stars":27,"forks":28,"last_commit_at":29,"license":15,"difficulty_score":30,"env_os":31,"env_gpu":32,"env_ram":33,"env_deps":34,"category_tags":41,"github_topics":15,"view_count":45,"oss_zip_url":15,"oss_zip_packed_at":15,"status":46,"created_at":47,"updated_at":48,"faqs":49,"releases":80},7456,"luogen1996\u002FLaVIN","LaVIN","[NeurIPS 2023] Official implementations of \"Cheap and Quick: Efficient Vision-Language Instruction Tuning for Large Language Models\"","LaVIN 是一个高效的多模态大语言模型开源项目，旨在让大型语言模型（LLM）具备理解图像并执行复杂指令的能力。它主要解决了传统视觉 - 语言模型训练成本高昂、耗时漫长且参数量巨大的痛点，提供了一种“既便宜又快速”的替代方案。\n\n该项目非常适合人工智能研究人员、开发者以及希望低成本部署多模态应用的技术团队使用。其核心技术创新在于提出了“混合模态适配”（MMA）机制。通过轻量级的适配器连接图像编码器与大语言模型，LaVIN 无需微调整个大模型即可实现端到端优化。更独特的是，它内置了一种新颖的路由算法，能自动识别指令类型，灵活切换单模态或多模态的推理路径。\n\n在实际表现上，LaVIN 展现了惊人的效率：训练时间可缩短至 1.4 小时，可训练参数量仅为 380 万，且在 ScienceQA 等基准测试中准确率超越了许多现有模型。此外，项目还支持 4-bit 量化训练，使得在单张消费级显卡（如 RTX 3090）上训练 7B 甚至 13B 规模的模型成为可能，极大地降低了多模态大模型的研发门槛。","![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fluogen1996_LaVIN_readme_ac6535b9214b.png)\n\n---\n\nThis repository contains the implementation of the NeurIPS 2023 paper:\n> **Cheap and Quick: Efficient Vision-Language Instruction Tuning for Large Language Models** \n> [[Project Page]](https:\u002F\u002Fluogen1996.github.io\u002Flavin\u002F) [[Paper]](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2305.15023.pdf)  \u003Cbr>\n> [Gen Luo](https:\u002F\u002Fluogen1996.github.io)\u003Csup>1\u003C\u002Fsup>,  Yiyi Zhou\u003Csup>12\u003C\u002Fsup>, [Tianhe Ren](https:\u002F\u002Frentainhe.github.io)\u003Csup>1\u003C\u002Fsup>, Shengxin Chen\u003Csup>1\u003C\u002Fsup>, [Xiaoshuai Sun](https:\u002F\u002Fsites.google.com\u002Fview\u002Fxssun)\u003Csup>12\u003C\u002Fsup>, [Rongrong Ji](https:\u002F\u002Fmac.xmu.edu.cn\u002Frrji\u002F)\u003Csup>12\u003C\u002Fsup>\u003Cbr>\n\u003Csup>1\u003C\u002Fsup>Media Analytics and Computing Lab, Department of Artificial Intelligence, School of Informatics, Xiamen University  \n> \u003Csup>2\u003C\u002Fsup>Institute of Artificial Intelligence, Xiamen University \n\nIn this work, we propose a novel and affordable solution for vision-language instruction tuning, namely Mixture-of-Modality Adaptation (MMA). \nParticularly, MMA is an end-to-end optimization regime, which connects the image encoder  and LLM via lightweight adapters.   Meanwhile, we also   propose a novel routing algorithm in MMA, which can   help the model automatically shifts the  reasoning paths  for single- and multi-modal instructions.  Based on MMA, we develop a large vision-language instructed model called LaVIN, which demonstrates superior training efficiency and  better reasoning ability  than existing multimodal LLMs in various instruction-following tasks.\n\n---\n\n\u003Cdiv  align=\"center\">    \n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fluogen1996_LaVIN_readme_0aeb71a559e2.png\" width=\"95%\">\n\u003C\u002Fdiv>\n\n## News \n- **`2023\u002F09\u002F22`**: 🔥🔥🔥 Our paper is accepted by NeurIPS 2023!\n- **`2023\u002F06\u002F30`**: 🔥🔥🔥 With very limited training data and cost, LaVIN achieves 5-th place of Perception and Cognition on [MME benchmark](https:\u002F\u002Fgithub.com\u002FBradyFU\u002FAwesome-Multimodal-Large-Language-Models\u002Ftree\u002FEvaluation)， outperforming seven existing multimodal LLMs. Evaluation codes are available. \n- **`2023\u002F06\u002F27`**: 🔥4-bit trainings are available now ! LaVIN-lite can be trained on one 3090 GPU, taking around 9G and 15G GPU memory for the scales of 7B  and 13B , respectively.  Technical details are available  in [知乎](https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F638784025).\n- **`2023\u002F05\u002F29`**: 🔥We released the demo and the pre-trained checkpoint (LLaMA-13B) for multimodal chatbot.\n- **`2023\u002F05\u002F25`**: 🔥We released the code of  **LaVIN: Large Vision-Language Instructed model**, which achieves 89.4 (LaVIN-7B) and 90.8 (LaVIN-13B)  accuracy on ScienceQA! 🔥With the proposed **mixture-of-modality adaptation**, the training time and trainable parameters can be reduced to 1.4 hours and 3.8M, respectively!  Checkout the [paper](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2305.15023.pdf).\n\n## TODO \n- [x] Release training codes.\n- [x] Release checkpoints and demo.\n- [x] 4-bit training. \n- [ ] Support more modalities, e.g., audio and video.\n\n## Contents\n- [Setup](#setup)\n- [Fine-tuning](#fine-tuning)\n- [Demo](#demo) \n- [Model Zoo](#model-zoo)\n\n## Setup\n### Install Package \n```bash\nconda create -n lavin python=3.8 -y\nconda activate lavin\n\n# install pytorch\nconda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 -c pytorch\n\n# install dependency and lavin\npip install -r requirements.txt\npip install -e .\n```\n### Data Preparation\n- For ScienceQA, please prepare the dataset from the [official repo](https:\u002F\u002Fgithub.com\u002Flupantech\u002FScienceQA).\n- For Multimodal Chatbot, download the images in _train2014_ split from [MSCOCO](http:\u002F\u002Fimages.cocodataset.org\u002Fzips\u002Ftrain2014.zip), and obtain the prepared 52k text-only and 158k text-image instruction-following data from [here](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1gORDPruqwXbgy6NYmhpDXO7t089yzsg3\u002Fview?usp=share_link).\n- Obtain the weights of LLaMA from [this form](https:\u002F\u002Fforms.gle\u002Fjk851eBVbX1m5TAv5)  (official) or Download [LLaMA-7B](https:\u002F\u002Fhuggingface.co\u002Fnyanko7\u002FLLaMA-7B\u002Ftree\u002Fmain) and [LLaMA-13B](https:\u002F\u002Fhuggingface.co\u002FTheBloke\u002Fllama-13b) from HuggingFace (unofficial).\n- If you want to use Vicuna weights to initialize the model, please download from [here](https:\u002F\u002Fhuggingface.co\u002Flmsys).\nAfter that, the file structure should look like:\n\n```bash\nLaVIN\u002F\n  |-- lavin\n  |-- scripts\n  |-- train.py\n  |-- eval.py\n  ......\ndata\u002F\n  |-- problem.json\n  |-- pid_splits.json\n  |-- captions.json\n  |-- all_data.json\n  |-- images\n      |-- train2014      # MSCOCO 2014\n      |-- val2014        # MSCOCO 2014\n      |-- train          # ScienceQA train image\n      |-- val            # ScienceQA val image\n      |-- test           # ScienceQA test image\n  |-- weights\n      |-- tokenizer.model\n          |--7B\n              |-- params.json\n              |-- consolidated.00.pth\n          |--13B\n              |-- params.json\n              |-- consolidated.00.pth\n              |-- consolidated.01.pth\n          |--vicuna_7B\n          |--vicuna_13B\n              |-- config.json\n              |-- generation_config.json\n              |-- pytorch_model.bin.index.json\n              |-- special_tokens_map.json\n              |-- tokenizer_config.json\n              |-- tokenizer.model\n              |-- pytorch_model-00001-of-00003.bin\n              |-- pytorch_model-00002-of-00003.bin\n              |-- pytorch_model-00003-of-00003.bin\n          ......\n```\n## Fine-tuning\n### ScienceQA\nReproduce the performance of LaVIN-7B on ScienceQA.\nFor 7B model, we fine-tune it on 2x A100 (we find that the performance will be affected by the number of GPUs. We are working to address this problem).\n\n\nLLaMA weights:\n```bash\nbash .\u002Fscripts\u002Ffinetuning_sqa_7b.sh\n```\n\nVicuna weights:\n```bash\nbash .\u002Fscripts\u002Ffinetuning_sqa_vicuna_7b.sh\n```\n\nLaVIN-lite with LLaMA weights (single GPU):\n```bash\nbash .\u002Fscripts\u002Ffinetuning_sqa_vicuna_7b_lite.sh\n```\n\nReproduce the performance of LaVIN-13B on ScienceQA (~2 hours on 8x A100 (80G)).\nFor 13B model, we fine-tune it on 8x A100.\n\nLLaMA weights:\n```bash\nbash .\u002Fscripts\u002Ffinetuning_sqa_13b.sh\n```\n\nVicuna weights:\n```bash\nbash .\u002Fscripts\u002Ffinetuning_sqa_vicuna_13b.sh\n```\nLaVIN-lite with LLaMA weights (single GPU):\n```bash\nbash .\u002Fscripts\u002Ffinetuning_sqa_vicuna_13b_lite.sh\n```\n### MultiModal ChatBot\nFine-tune LaVIN-13B on 210k instruction-following data (~ 75 hours with 15 epochs and ~25 hours with 5 epochs on 8x A100 (80G) )\n\nLLaMA weights:\n```bash\nbash .\u002Fscripts\u002Fvl_instruction_tuning_13b.sh\n```\n\nVicuna weights:\n```bash\nbash .\u002Fscripts\u002Fvl_instruction_tuning_vicuna_13b.sh\n```\nTo train on fewer GPUs, you can reduce the number of gpus in the scripts and increase gradient accumulation via ```--accum_iter``` to guarantee the total batch size of 32. Setting  ```--gradient_checkpointing```  and ```--bits 4bit``` in the scripts will greatly reduce the requirements of GPU memory.\n\n\n## Demo\n\nLaVIN supports both single- and multi-modal instruction inputs. Try your custom instructions in our demo:\n\n- **Launch a gradio web server on your machine, then you can interact with LaVIN as you like.** \n```\ntorchrun --nproc_per_node 1 demo.py --server_name 127.0.0.1\n```\n\n\u003Cdiv  align=\"center\">    \n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fluogen1996_LaVIN_readme_91ad426ca08d.gif\" width=\"95%\">\n\u003C\u002Fdiv>\n\n\n## Model Zoo\n### ScienceQA\n| Model     |  Weights    |      Time | Memory | #Params |  Acc |          Weights |\n|-----------|----------:|----------:|-------:|--------:|-----:|-----------------:|\n| LaVIN-7B-lite  | LLaMA | 29 hours (single GPU) |  9G |    3.8M | 88.35 | [google drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1oVtoTgt-d9EqmrVic27oZUreN9dLClMo\u002Fview?usp=sharing) |\n| LaVIN-13B-lite  | LLaMA | 42 hours (single GPU) |  14G |    5.4M | 89.44 | [google drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1PyVsap3FnmgXOGXFXjYsAtR75cFypaHw\u002Fview?usp=sharing) |\n| LaVIN-7B  | LLaMA | 1.4 hours |  33.9G |    3.8M | 89.37 | [google drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F10X2qCBYrLH1grZOHwHRMXLUoz-S6MSgV\u002Fview?usp=share_link) |\n| LaVIN-7B  | Vicuna | 1.4 hours |  33.9G |    3.8M | 89.41 | [google drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1nuMxeiWlnJKxDybCshg8pVGSvLc5dZy8\u002Fview?usp=share_link) |\n| LaVIN-13B | LLaMA |   2 hours |  55.9G |    5.4M | 90.54 | [google drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1LkKUY54spZkkeXrR7BDmU-xmK9YadcKM\u002Fview?usp=share_link) |\n| LaVIN-13B | LLaMA |   4 hours |  55.9G |    5.4M | 90.8 | - |\n\n### Multimodal ChatBot\n| Model     |Weights    |      Time | Memory | #Params | Acc |          Weights |\n|-----------|----------:|---------:|-------:|--------:|----:|-----------------:|\n| LaVIN-13B | LLaMA | 25 hours |  55.9G |    5.4M |   - |                - |\n| LaVIN-13B | LLaMA | 75 hours |  55.9G |    5.4M |   - | [google drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1rHQNSaiGzFHYGgsamtySPYnd5AW4OE9j\u002Fview?usp=share_link)|\n\n## Examples\n\u003Cdiv  align=\"center\">    \n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fluogen1996_LaVIN_readme_1d879f6be1df.png\" width=\"95%\">\n\u003C\u002Fdiv>\n\n## Star History\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fluogen1996_LaVIN_readme_59461287fad0.png)](https:\u002F\u002Fstar-history.com\u002F#luogen1996\u002FLaVIN&Date)\n\n## Citation\nIf you think our code and paper helpful, please kindly cite LaVIN and [RepAdapter](https:\u002F\u002Fgithub.com\u002Fluogen1996\u002FRepAdapter\u002F):\n```BibTeX\n@article{luo2023towards,\n  title={Towards Efficient Visual Adaption via Structural Re-parameterization},\n  author={Luo, Gen and Huang, Minglang and Zhou, Yiyi  and Sun, Xiaoshuai and Jiang, Guangnan and Wang, Zhiyu and Ji, Rongrong},\n  journal={arXiv preprint arXiv:2302.08106},\n  year={2023}\n}\n\n@article{luo2023cheap,\n title={Cheap and Quick: Efficient Vision-Language Instruction Tuning for Large Language Models},\n author={Luo, Gen and  Zhou, Yiyi and Ren, Tianhe and Chen, Shengxin and Sun, Xiaoshuai and Ji, Rongrong},\n journal={Advances in neural information processing systems (NeurIPS)},\n year={2023}\n  }\n```\n\n\n## Acknowledgement\nThis repo borrows some data and codes from [LLaMA](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fllama), [Stanford Alpaca](https:\u002F\u002Fgithub.com\u002Ftatsu-lab\u002Fstanford_alpaca),  [LLaVA](https:\u002F\u002Fgithub.com\u002Fhaotian-liu\u002FLLaVA), [MiniGPT-4](https:\u002F\u002Fgithub.com\u002FVision-CAIR\u002FMiniGPT-4) and [LLaMA-Adapter](https:\u002F\u002Fgithub.com\u002FZrrSkywalker\u002FLLaMA-Adapter\u002F). Thanks for their great works.\n","![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fluogen1996_LaVIN_readme_ac6535b9214b.png)\n\n---\n\n本仓库包含 NeurIPS 2023 论文的实现：\n> **廉价且快速：面向大型语言模型的高效视觉-语言指令微调** \n> [[项目页面]](https:\u002F\u002Fluogen1996.github.io\u002Flavin\u002F) [[论文]](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2305.15023.pdf)  \u003Cbr>\n> [Gen Luo](https:\u002F\u002Fluogen1996.github.io)\u003Csup>1\u003C\u002Fsup>,  Yiyi Zhou\u003Csup>12\u003C\u002Fsup>, [Tianhe Ren](https:\u002F\u002Frentainhe.github.io)\u003Csup>1\u003C\u002Fsup>, Shengxin Chen\u003Csup>1\u003C\u002Fsup>, [Xiaoshuai Sun](https:\u002F\u002Fsites.google.com\u002Fview\u002Fxssun)\u003Csup>12\u003C\u002Fsup>, [Rongrong Ji](https:\u002F\u002Fmac.xmu.edu.cn\u002Frrji\u002F)\u003Csup>12\u003C\u002Fsup>\u003Cbr>\n\u003Csup>1\u003C\u002Fsup>厦门大学信息学院人工智能系媒体分析与计算实验室  \n> \u003Csup>2\u003C\u002Fsup>厦门大学人工智能研究院 \n\n在本工作中，我们提出了一种新颖且经济实惠的视觉-语言指令微调方案，即模态混合适应（MMA）。  \n具体而言，MMA 是一种端到端的优化机制，通过轻量级适配器将图像编码器与 LLM 连接起来。同时，我们还提出了一种新的路由算法，能够帮助模型自动切换针对单模态和多模态指令的推理路径。基于 MMA，我们开发了一个名为 LaVIN 的大型视觉-语言指令模型，在多种指令遵循任务中表现出比现有多模态 LLM 更高的训练效率和更强的推理能力。\n\n---\n\n\u003Cdiv  align=\"center\">    \n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fluogen1996_LaVIN_readme_0aeb71a559e2.png\" width=\"95%\">\n\u003C\u002Fdiv>\n\n## 新闻 \n- **`2023\u002F09\u002F22`**: 🔥🔥🔥 我们的论文已被 NeurIPS 2023 接收！\n- **`2023\u002F06\u002F30`**: 🔥🔥🔥 在训练数据和成本都非常有限的情况下，LaVIN 在 [MME 基准测试](https:\u002F\u002Fgithub.com\u002FBradyFU\u002FAwesome-Multimodal-Large-Language-Models\u002Ftree\u002FEvaluation) 的“感知与认知”类别中取得了第 5 名，性能超越了七种现有的多模态 LLM。评估代码现已公开。\n- **`2023\u002F06\u002F27`**: 🔥4-bit 训练现已可用！LaVIN-lite 可以在单张 3090 GPU 上进行训练，分别使用约 9G 和 15G 的显存即可完成 7B 和 13B 参数规模的训练。相关技术细节已在 [知乎](https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F638784025) 上发布。\n- **`2023\u002F05\u002F29`**: 🔥我们发布了多模态聊天机器人的演示及预训练检查点（LLaMA-13B）。\n- **`2023\u002F05\u002F25`**: 🔥我们发布了 **LaVIN：大型视觉-语言指令模型** 的代码，在 ScienceQA 数据集上分别达到了 89.4（LaVIN-7B）和 90.8（LaVIN-13B）的准确率！🔥借助我们提出的 **模态混合适应** 方法，训练时间和可训练参数分别减少至 1.4 小时和 380 万！请查看 [论文](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2305.15023.pdf)。\n\n## 待办事项 \n- [x] 发布训练代码。\n- [x] 发布检查点和演示。\n- [x] 支持 4-bit 训练。\n- [ ] 支持更多模态，例如音频和视频。\n\n## 目录\n- [设置](#setup)\n- [微调](#fine-tuning)\n- [演示](#demo) \n- [模型库](#model-zoo)\n\n## 设置\n### 安装软件包 \n```bash\nconda create -n lavin python=3.8 -y\nconda activate lavin\n\n# 安装 PyTorch\nconda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 -c pytorch\n\n# 安装依赖和 lavin\npip install -r requirements.txt\npip install -e .\n```\n### 数据准备\n- 对于 ScienceQA，请从 [官方仓库](https:\u002F\u002Fgithub.com\u002Flupantech\u002FScienceQA) 准备数据集。\n- 对于多模态聊天机器人，从 [MSCOCO](http:\u002F\u002Fimages.cocodataset.org\u002Fzips\u002Ftrain2014.zip) 下载 _train2014_ 分割中的图片，并从 [这里](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1gORDPruqwXbgy6NYmhpDXO7t089yzsg3\u002Fview?usp=share_link) 获取已整理好的 5.2 万条纯文本和 15.8 万条图文结合的指令遵循数据。\n- 从 [此表单](https:\u002F\u002Fforms.gle\u002Fjk851eBVbX1m5TAv5) 获取 LLaMA 权重（官方来源），或从 HuggingFace 下载 [LLaMA-7B](https:\u002F\u002Fhuggingface.co\u002Fnyanko7\u002FLLaMA-7B\u002Ftree\u002Fmain) 和 [LLaMA-13B](https:\u002F\u002Fhuggingface.co\u002FTheBloke\u002Fllama-13b)（非官方来源）。\n- 如果希望使用 Vicuna 权重初始化模型，请从 [HuggingFace](https:\u002F\u002Fhuggingface.co\u002Flmsys) 下载。\n完成上述步骤后，文件结构应如下所示：\n\n```bash\nLaVIN\u002F\n  |-- lavin\n  |-- scripts\n  |-- train.py\n  |-- eval.py\n  ......\ndata\u002F\n  |-- problem.json\n  |-- pid_splits.json\n  |-- captions.json\n  |-- all_data.json\n  |-- images\n      |-- train2014      # MSCOCO 2014\n      |-- val2014        # MSCOCO 2014\n      |-- train          # ScienceQA 训练集图片\n      |-- val            # ScienceQA 验证集图片\n      |-- test           # ScienceQA 测试集图片\n  |-- weights\n      |-- tokenizer.model\n          |--7B\n              |-- params.json\n              |-- consolidated.00.pth\n          |--13B\n              |-- params.json\n              |-- consolidated.00.pth\n              |-- consolidated.01.pth\n          |--vicuna_7B\n          |--vicuna_13B\n              |-- config.json\n              |-- generation_config.json\n              |-- pytorch_model.bin.index.json\n              |-- special_tokens_map.json\n              |-- tokenizer_config.json\n              |-- tokenizer.model\n              |-- pytorch_model-00001-of-00003.bin\n              |-- pytorch_model-00002-of-00003.bin\n              |-- pytorch_model-00003-of-00003.bin\n          ......\n```\n## 微调\n### ScienceQA\n重现 LaVIN-7B 在 ScienceQA 上的表现。\n对于 7B 模型，我们在 2 张 A100 上进行微调（我们发现性能会受到 GPU 数量的影响，目前正在解决这一问题）。\n\nLLaMA 权重：\n```bash\nbash .\u002Fscripts\u002Ffinetuning_sqa_7b.sh\n```\n\nVicuna 权重：\n```bash\nbash .\u002Fscripts\u002Ffinetuning_sqa_vicuna_7b.sh\n```\n\nLaVIN-lite 使用 LLaMA 权重（单 GPU）：\n```bash\nbash .\u002Fscripts\u002Ffinetuning_sqa_vicuna_7b_lite.sh\n```\n\n重现 LaVIN-13B 在 ScienceQA 上的表现（约 2 小时，使用 8 张 A100 卡，共 80G 显存）。\n对于 13B 模型，我们在 8 张 A100 上进行微调。\n\nLLaMA 权重：\n```bash\nbash .\u002Fscripts\u002Ffinetuning_sqa_13b.sh\n```\n\nVicuna 权重：\n```bash\nbash .\u002Fscripts\u002Ffinetuning_sqa_vicuna_13b.sh\n```\n\nLaVIN-lite 使用 LLaMA 权重（单 GPU）：\n```bash\nbash .\u002Fscripts\u002Ffinetuning_sqa_vicuna_13b_lite.sh\n```\n### 多模态聊天机器人\n在 21 万条指令遵循数据上微调 LaVIN-13B（使用 8 张 A100 卡，共 80G 显存，运行 15 个 epoch 约需 75 小时，运行 5 个 epoch 约需 25 小时）。\n\nLLaMA 权重：\n```bash\nbash .\u002Fscripts\u002Fvl_instruction_tuning_13b.sh\n```\n\nVicuna 权重：\n```bash\nbash .\u002Fscripts\u002Fvl_instruction_tuning_vicuna_13b.sh\n```\n若需在较少的 GPU 上训练，可在脚本中减少 GPU 数量，并通过 ```--accum_iter``` 增加梯度累积，以确保总批次大小为 32。在脚本中设置 ```--gradient_checkpointing``` 和 ```--bits 4bit``` 可显著降低对显存的需求。\n\n## 演示\n\nLaVIN 支持单模态和多模态的指令输入。您可以在我们的演示中尝试自定义指令：\n\n- **在您的机器上启动一个 Gradio Web 服务器，然后您可以随意与 LaVIN 互动。**\n```\ntorchrun --nproc_per_node 1 demo.py --server_name 127.0.0.1\n```\n\n\u003Cdiv  align=\"center\">    \n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fluogen1996_LaVIN_readme_91ad426ca08d.gif\" width=\"95%\">\n\u003C\u002Fdiv>\n\n\n## 模型库\n### ScienceQA\n| 模型     | 权重    |      时间 | 内存 | 参数量 |  准确率 |          权重 |\n|-----------|----------:|----------:|-------:|--------:|-----:|-----------------:|\n| LaVIN-7B-lite  | LLaMA | 29 小时（单 GPU） |  9G |    3.8M | 88.35 | [google drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1oVtoTgt-d9EqmrVic27oZUreN9dLClMo\u002Fview?usp=sharing) |\n| LaVIN-13B-lite  | LLaMA | 42 小时（单 GPU） |  14G |    5.4M | 89.44 | [google drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1PyVsap3FnmgXOGXFXjYsAtR75cFypaHw\u002Fview?usp=sharing) |\n| LaVIN-7B  | LLaMA | 1.4 小时 |  33.9G |    3.8M | 89.37 | [google drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F10X2qCBYrLH1grZOHwHRMXLUoz-S6MSgV\u002Fview?usp=share_link) |\n| LaVIN-7B  | Vicuna | 1.4 小时 |  33.9G |    3.8M | 89.41 | [google drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1nuMxeiWlnJKxDybCshg8pVGSvLc5dZy8\u002Fview?usp=share_link) |\n| LaVIN-13B | LLaMA |   2 小时 |  55.9G |    5.4M | 90.54 | [google drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1LkKUY54spZkkeXrR7BDmU-xmK9YadcKM\u002Fview?usp=share_link) |\n| LaVIN-13B | LLaMA |   4 小时 |  55.9G |    5.4M | 90.8 | - |\n\n### 多模态聊天机器人\n| 模型     |权重    |      时间 | 内存 | 参数量 | 准确率 |          权重 |\n|-----------|----------:|---------:|-------:|--------:|----:|-----------------:|\n| LaVIN-13B | LLaMA | 25 小时 |  55.9G |    5.4M |   - |                - |\n| LaVIN-13B | LLaMA | 75 小时 |  55.9G |    5.4M |   - | [google drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1rHQNSaiGzFHYGgsamtySPYnd5AW4OE9j\u002Fview?usp=share_link)|\n\n## 示例\n\u003Cdiv  align=\"center\">    \n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fluogen1996_LaVIN_readme_1d879f6be1df.png\" width=\"95%\">\n\u003C\u002Fdiv>\n\n## 星标历史\n[![星标历史图](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fluogen1996_LaVIN_readme_59461287fad0.png)](https:\u002F\u002Fstar-history.com\u002F#luogen1996\u002FLaVIN&Date)\n\n## 引用\n如果您认为我们的代码和论文有所帮助，请引用 LaVIN 和 [RepAdapter](https:\u002F\u002Fgithub.com\u002Fluogen1996\u002FRepAdapter\u002F)：\n```BibTeX\n@article{luo2023towards,\n  title={Towards Efficient Visual Adaption via Structural Re-parameterization},\n  author={Luo, Gen and Huang, Minglang and Zhou, Yiyi  and Sun, Xiaoshuai and Jiang, Guangnan and Wang, Zhiyu and Ji, Rongrong},\n  journal={arXiv preprint arXiv:2302.08106},\n  year={2023}\n}\n\n@article{luo2023cheap,\n title={Cheap and Quick: Efficient Vision-Language Instruction Tuning for Large Language Models},\n author={Luo, Gen and  Zhou, Yiyi and Ren, Tianhe and Chen, Shengxin and Sun, Xiaoshuai and Ji, Rongrong},\n journal={Advances in neural information processing systems (NeurIPS)},\n year={2023}\n  }\n```\n\n\n## 致谢\n本仓库借鉴了来自 [LLaMA](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fllama)、[Stanford Alpaca](https:\u002F\u002Fgithub.com\u002Ftatsu-lab\u002Fstanford_alpaca)、[LLaVA](https:\u002F\u002Fgithub.com\u002Fhaotian-liu\u002FLLaVA)、[MiniGPT-4](https:\u002F\u002Fgithub.com\u002FVision-CAIR\u002FMiniGPT-4) 和 [LLaMA-Adapter](https:\u002F\u002Fgithub.com\u002FZrrSkywalker\u002FLLaMA-Adapter\u002F) 的部分数据和代码。感谢他们的杰出工作。","# LaVIN 快速上手指南\n\nLaVIN 是一个高效的大规模视觉 - 语言指令微调模型，基于 NeurIPS 2023 论文《Cheap and Quick》实现。它通过混合模态适配（MMA）技术，显著降低了训练成本和参数量，同时保持了强大的多模态推理能力。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Linux (推荐 Ubuntu)\n- **Python**: 3.8\n- **GPU**: \n  - 标准训练：推荐 A100 (7B 模型需 2 张，13B 模型需 8 张)\n  - 轻量版训练 (LaVIN-lite)：单张 RTX 3090 即可 (7B 约需 9G 显存，13B 约需 15G 显存)\n- **CUDA**: 兼容 PyTorch 1.12.1 的版本\n\n### 前置依赖\n- Conda 包管理器\n- Git\n\n## 安装步骤\n\n### 1. 创建并激活虚拟环境\n```bash\nconda create -n lavin python=3.8 -y\nconda activate lavin\n```\n\n### 2. 安装 PyTorch\n建议使用国内镜像源加速下载（如清华源）：\n```bash\nconda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 -c pytorch\n# 若下载缓慢，可尝试指定清华源：\n# conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 -c pytorch --channel https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fpkgs\u002Fmain\u002F\n```\n\n### 3. 安装项目依赖及 LaVIN\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fluogen1996\u002FLaVIN.git\ncd LaVIN\npip install -r requirements.txt\npip install -e .\n```\n\n### 4. 数据与权重准备\n在运行前需手动下载以下资源并整理目录结构：\n- **数据集**: \n  - ScienceQA: 从 [官方仓库](https:\u002F\u002Fgithub.com\u002Flupantech\u002FScienceQA) 获取。\n  - 多模态对话数据: 下载 MSCOCO train2014 图片及 [指令数据](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1gORDPruqwXbgy6NYmhpDXO7t089yzsg3\u002Fview?usp=share_link)。\n- **模型权重**: \n  - LLaMA: 从 [官方表单](https:\u002F\u002Fforms.gle\u002Fjk851eBVbX1m5TAv5) 或 HuggingFace (如 `nyanko7\u002FLLaMA-7B`) 获取。\n  - Vicuna (可选): 从 [HuggingFace](https:\u002F\u002Fhuggingface.co\u002Flmsys) 获取。\n\n确保最终目录结构如下：\n```text\nLaVIN\u002F\n  |-- lavin\n  |-- scripts\n  |-- train.py\n  ...\ndata\u002F\n  |-- images\u002F          # 存放 MSCOCO 和 ScienceQA 图片\n  |-- weights\u002F         # 存放 LLaMA\u002FVicuna 权重文件\n  |-- *.json           # 各类数据标注文件\n```\n\n## 基本使用\n\n### 启动交互式 Demo\nLaVIN 支持单模态和多模态指令输入。最简单的方式是启动本地 Gradio 服务进行体验。\n\n**启动命令：**\n```bash\ntorchrun --nproc_per_node 1 demo.py --server_name 127.0.0.1\n```\n\n启动后，在浏览器访问显示的本地地址（通常为 `http:\u002F\u002F127.0.0.1:7860`），即可上传图片并输入指令与模型对话。\n\n### 快速微调示例 (ScienceQA)\n若需复现 ScienceQA 上的性能，可使用提供的脚本。以下以单卡运行轻量版 (LaVIN-lite) 为例：\n\n**使用 LLaMA 权重的 7B 轻量版微调：**\n```bash\nbash .\u002Fscripts\u002Ffinetuning_sqa_vicuna_7b_lite.sh\n```\n\n**使用 LLaMA 权重的 13B 轻量版微调：**\n```bash\nbash .\u002Fscripts\u002Ffinetuning_sqa_vicuna_13b_lite.sh\n```\n\n> **提示**: 若显存有限，可在脚本中添加 `--bits 4bit` 和 `--gradient_checkpointing` 参数以进一步降低显存占用。","某教育科技团队正致力于开发一款能辅助学生解答科学题目的多模态 AI 助教，需让大模型具备理解图表并推理答案的能力。\n\n### 没有 LaVIN 时\n- **训练成本高昂**：传统多模态微调需更新数十亿参数，必须租用昂贵的多卡 A100 集群，中小团队难以承担。\n- **开发周期漫长**：全量微调耗时数天甚至数周，导致算法迭代缓慢，无法快速验证新的解题策略。\n- **硬件门槛极高**：显存占用巨大，单张消费级显卡（如 RTX 3090）完全无法运行 7B 或 13B 模型的训练任务。\n- **推理路径僵化**：模型难以自动区分纯文本指令与图文混合指令，常出现“看图说话”时的逻辑混乱。\n\n### 使用 LaVIN 后\n- **极致降本增效**：借助混合模态适配（MMA）技术，仅需训练 380 万参数（约占总量的 0.5%），大幅降低算力预算。\n- **极速模型迭代**：在 ScienceQA 等任务上，训练时间缩短至 1.4 小时，团队可实现“上午改代码，下午测效果”的敏捷开发。\n- **平民化硬件部署**：支持 4-bit 量化训练，单张 RTX 3090 即可轻松跑通 7B 乃至 13B 模型，让本地开发成为可能。\n- **智能路由推理**：内置的路由算法能自动识别指令类型，灵活切换推理路径，显著提升了复杂科学问题的回答准确率。\n\nLaVIN 通过轻量级适配与智能路由机制，将多模态大模型的训练门槛从“实验室级”降至“桌面级”，让高效、低成本的视觉语言应用落地成为现实。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fluogen1996_LaVIN_ac6535b9.png","luogen1996",null,"https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fluogen1996_7b1e8f0f.jpg","https:\u002F\u002Fgithub.com\u002Fluogen1996",[19,23],{"name":20,"color":21,"percentage":22},"Python","#3572A5",95.8,{"name":24,"color":25,"percentage":26},"Shell","#89e051",4.2,523,39,"2026-03-08T02:49:51",4,"Linux","必需 NVIDIA GPU。标准训练：7B 模型需 2x A100 (33.9G 显存)，13B 模型需 8x A100 (55.9G 显存)。轻量版 (LaVIN-lite\u002F4-bit)：单卡即可，7B 需约 9G 显存 (如 RTX 3090)，13B 需约 14-15G 显存。","未说明",{"notes":35,"python":36,"dependencies":37},"1. 需自行准备 LLaMA 或 Vicuna 预训练权重文件。2. 数据集需单独下载 (ScienceQA, MSCOCO, 指令微调数据)。3. 支持 4-bit 量化训练以大幅降低显存需求。4. 多卡训练时，GPU 数量可能影响模型性能。5. 推理演示使用 Gradio 启动。","3.8",[38,39,40],"torch==1.12.1","torchvision==0.13.1","torchaudio==0.12.1",[42,43,44],"语言模型","图像","其他",2,"ready","2026-03-27T02:49:30.150509","2026-04-15T01:24:11.414898",[50,55,60,65,70,75],{"id":51,"question_zh":52,"answer_zh":53,"source_url":54},33467,"训练过程中遇到 'Loss is NaN' 错误怎么办？","如果在训练中遇到 Loss 为 NaN 的情况，请修改 `engine.py` 文件的第 48-50 行，添加以下代码以跳过该批次：\n\nif torch.isnan(loss):\n    print(\"NaN loss encountered. Skipping this batch.\")\n    continue\n\n此外，有用户反馈在使用 Vicuna-13B 权重时容易出现此问题，而使用 LLaMA-13B 则正常。建议检查训练设置（如 batch size），或等待官方更新修复。","https:\u002F\u002Fgithub.com\u002Fluogen1996\u002FLaVIN\u002Fissues\u002F2",{"id":56,"question_zh":57,"answer_zh":58,"source_url":59},33468,"单卡（如 2080Ti）复现 7B-lite 模型效果不佳，准确率低于预期，如何调整参数？","在单卡（如 2080Ti）上复现时，如果准确率偏低，建议调整 batch_size 和 accum_iter 的组合。将原本的 `--batch_size 2 --accum_iter 16` 修改为 `--batch_size 1 --accum_iter 32`。保持总有效 batch size 不变但改变梯度累积策略后，许多用户反馈准确率能提升至接近官方报告的水平（例如从 87.60% 提升至 88.49%）。","https:\u002F\u002Fgithub.com\u002Fluogen1996\u002FLaVIN\u002Fissues\u002F15",{"id":61,"question_zh":62,"answer_zh":63,"source_url":64},33469,"为什么我自己训练的模型效果比官方提供的 sqa-llama-7b-lite.pth 差很多？","效果差异通常是因为训练步数不同。官方模型是在单卡上使用 `batch_size=1` 和 `accum_iter=32`（总有效 batch size 为 32）训练的。如果你使用了更大的 batch size（例如 64），在相同的 epoch 下，实际训练步数会减少一半，导致模型欠拟合。请确保你的训练配置（特别是 step 数量）与官方一致，推荐使用单卡配置：`--batch_size 1 --accum_iter 32`。","https:\u002F\u002Fgithub.com\u002Fluogen1996\u002FLaVIN\u002Fissues\u002F9",{"id":66,"question_zh":67,"answer_zh":68,"source_url":69},33470,"论文图 2 中的 Routing Weights Generation 模块参数（Wm 和 bm）是可学习的吗？","是的，这些参数是可学习的。图 2 中的 Mixture-of-Modality Adapter (MM-Adapter) 标有火焰图标，表示其参数可训练。Wm 和 bm 是 MM-Adapter 的一部分，因此它们也会通过训练进行更新。","https:\u002F\u002Fgithub.com\u002Fluogen1996\u002FLaVIN\u002Fissues\u002F4",{"id":71,"question_zh":72,"answer_zh":73,"source_url":74},33471,"MME benchmark 评测使用的模型是仅用 instruction 数据训练的吗？","是的，在 MME benchmark 上进行评测的模型是仅使用 instruction 数据（约 210k 条）进行训练的。相关的模型权重可以通过以下链接获取：https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1rHQNSaiGzFHYGgsamtySPYnd5AW4OE9j\u002Fview?usp=share_link","https:\u002F\u002Fgithub.com\u002Fluogen1996\u002FLaVIN\u002Fissues\u002F16",{"id":76,"question_zh":77,"answer_zh":78,"source_url":79},33472,"是否会发布适用于多模态聊天机器人任务的 LaVIN-7B 模型 checkpoint？","目前团队尚未在多模态聊天机器人任务上对 7B 模型进行实验。官方正在尝试加速训练并减少显存占用（目前 13B 聊天机器人需要约 55G 显存），未来可能会发布优化后的 7B 版本或降低显存需求的方案，请关注后续更新。","https:\u002F\u002Fgithub.com\u002Fluogen1996\u002FLaVIN\u002Fissues\u002F5",[81,86],{"id":82,"version":83,"summary_zh":84,"released_at":85},255655,"v1.1","4位训练","2023-06-28T10:56:32",{"id":87,"version":88,"summary_zh":89,"released_at":90},255656,"v1.0","纸质版","2023-06-28T10:34:35",[92,104,112,120,128,137],{"id":93,"name":94,"github_repo":95,"description_zh":96,"stars":97,"difficulty_score":98,"last_commit_at":99,"category_tags":100,"status":46},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",[101,102,43,103],"Agent","开发框架","数据工具",{"id":105,"name":106,"github_repo":107,"description_zh":108,"stars":109,"difficulty_score":98,"last_commit_at":110,"category_tags":111,"status":46},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",[102,43,101],{"id":113,"name":114,"github_repo":115,"description_zh":116,"stars":117,"difficulty_score":45,"last_commit_at":118,"category_tags":119,"status":46},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 真正成长为懂上",155373,"2026-04-14T11:34:08",[102,101,42],{"id":121,"name":122,"github_repo":123,"description_zh":124,"stars":125,"difficulty_score":45,"last_commit_at":126,"category_tags":127,"status":46},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",[102,43,101],{"id":129,"name":130,"github_repo":131,"description_zh":132,"stars":133,"difficulty_score":45,"last_commit_at":134,"category_tags":135,"status":46},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",[136,101,43,102],"插件",{"id":138,"name":139,"github_repo":140,"description_zh":141,"stars":142,"difficulty_score":98,"last_commit_at":143,"category_tags":144,"status":46},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",[42,43,101,102]]