self-llm README

The project's README from github.com/datawhalechina/self-llm. As one markdown file: README.md.

开源大模型食用指南

中文 | English

  本项目是一个围绕开源大模型、针对国内初学者、基于 Linux 平台的中国宝宝专属大模型教程,针对各类开源大模型提供包括环境配置、本地部署、高效微调等技能在内的全流程指导,简化开源大模型的部署、使用和应用流程,让更多的普通学生、研究者更好地使用开源大模型,帮助开源、自由的大模型更快融入到普通学习者的生活中。

  本项目的主要内容包括:

  1. 基于 Linux 平台的开源 LLM 环境配置指南,针对不同模型要求提供不同的详细环境配置步骤;
  2. 针对国内外主流开源 LLM 的部署使用教程,包括 LLaMA、ChatGLM、InternLM 等;
  3. 开源 LLM 的部署应用指导,包括命令行调用、在线 Demo 部署、LangChain 框架集成等;
  4. 开源 LLM 的全量微调、高效微调方法,包括分布式全量微调、LoRA、ptuning 等。

  项目的主要内容就是教程,让更多的学生和未来的从业者了解和熟悉开源大模型的食用方法!任何人都可以提出issue或是提交PR,共同构建维护这个项目。

  想要深度参与的同学可以联系我们,我们会将你加入到项目的维护者中。

  学习建议:本项目的学习建议是,先学习环境配置,然后再学习模型的部署使用,最后再学习微调。因为环境配置是基础,模型的部署使用是基础,微调是进阶。初学者可以选择Qwen1.5,InternLM2,MiniCPM等模型优先学习。

  进阶学习推荐 :如果您在学习完本项目后,希望更深入地理解大语言模型的核心原理,并渴望亲手从零开始训练属于自己的大模型,我们强烈推荐关注 Datawhale 的另一个开源项目—— Happy-LLM 从零开始的大语言模型原理与实践教程 。该项目将带您深入探索大模型的底层机制,掌握完整的训练流程。

注:如果有同学希望了解大模型的模型构成,以及从零手写RAG、Agent和Eval等任务,可以学习Datawhale的另一个项目Tiny-Universe,大模型是当下深度学习领域的热点,但现有的大部分大模型教程只在于教给大家如何调用api完成大模型的应用,而很少有人能够从原理层面讲清楚模型结构、RAG、Agent 以及 Eval。所以该仓库会提供全部手写,不采用调用api的形式,完成大模型的 RAG 、 Agent 、Eval 任务。

注:考虑到有同学希望在学习本项目之前,希望学习大模型的理论部分,如果想要进一步深入学习 LLM 的理论基础,并在理论的基础上进一步认识、应用 LLM,可以参考 Datawhale 的 so-large-llm课程。

注:如果有同学在学习本课程之后,想要自己动手开发大模型应用。同学们可以参考 Datawhale 的 动手学大模型应用开发 课程,该项目是一个面向小白开发者的大模型应用开发教程,旨在基于阿里云服务器,结合个人知识库助手项目,向同学们完整的呈现大模型应用开发流程。

项目意义

  什么是大模型?

大模型(LLM)狭义上指基于深度学习算法进行训练的自然语言处理(NLP)模型,主要应用于自然语言理解和生成等领域,广义上还包括机器视觉(CV)大模型、多模态大模型和科学计算大模型等。

  百模大战正值火热,开源 LLM 层出不穷。如今国内外已经涌现了众多优秀开源 LLM,国外如 LLaMA、Alpaca,国内如 ChatGLM、BaiChuan、InternLM(书生·浦语)等。开源 LLM 支持用户本地部署、私域微调,每一个人都可以在开源 LLM 的基础上打造专属于自己的独特大模型。

  然而,当前普通学生和用户想要使用这些大模型,需要具备一定的技术能力,才能完成模型的部署和使用。对于层出不穷又各有特色的开源 LLM,想要快速掌握一个开源 LLM 的应用方法,是一项比较有挑战的任务。

  本项目旨在首先基于核心贡献者的经验,实现国内外主流开源 LLM 的部署、使用与微调教程;在实现主流 LLM 的相关部分之后,我们希望充分聚集共创者,一起丰富这个开源 LLM 的世界,打造更多、更全面特色 LLM 的教程。星火点点,汇聚成海。

  我们希望成为 LLM 与普罗大众的阶梯,以自由、平等的开源精神,拥抱更恢弘而辽阔的 LLM 世界。

项目受众

  本项目适合以下学习者:

项目规划及进展

   本项目拟围绕开源 LLM 应用全流程组织,包括环境配置及使用、部署应用、微调等,每个部分覆盖主流及特点开源 LLM:

Example 系列

已支持模型

✨ 已支持 50+ 主流大语言模型 ✨
每个模型都提供完整的部署、微调和使用教程
📖 查看完整模型列表和教程 | 🎯 快速开始

• MiniCPM5
• Qwen3.5
• Kimi-K2.5
• Step-3.5-Flash
• GLM-4.7-Flash
• GLM-5.2
• Gemma3
• MiniMax-M3
• MiniMax-M2.7
• MiniMax-M2.5
• MiniMax-M2
• Qwen3
• Qwen3-VL
• SpatialLM
• Hunyuan3D-2
• Qwen2-VL
• MiniCPM-o
• Qwen2.5-Coder
• DeepSeek-Coder-V2
• gpt-oss-20b
• GLM-4.1-Thinking
• DeepSeek-R1
• InternLM3
• phi4
• GLM-4.5-Air
• Hunyuan-A13B
• DeepSeek
• Baichuan
• InternLM
• Kimi
• ERNIE-4.5
• Llama4
• Apple OpenELM
• Llama3.1
• Gemma-2
• Qwen2.5
• Qwen2
• GLM-4
• Qwen 1.5
• phi-3
• MiniCPM
• Yi 零一万物
• Yuan2.0
• Yuan2.0-M32
• 哔哩哔哩 Index
• CharacterGLM
• BlueLM
• Qwen-Audio
• TransNormerLLM
• Atom
• ChatGLM3
• Qwen2-57B-A14B-Instruct
• Qwen2-72B-Instruct
• Qwen2-7B-Instruct
• InternLM2-20B
• Tele-Chat
• XVERSE2

AMD GPU 专区

ROCm     AMD University Program

🚀 AMD GPU 平台已支持模型
每个模型都提供完整的 ROCm 环境配置与部署教程(LM Studio / vLLM / Ollama / llama.cpp)
感谢 AMD University Program(AMD 大学计划)对本项目的支持
📖 查看完整 AMD 平台模型列表和教程
📘 进阶学习推荐:hello-rocm(Datawhale ROCm 部署 / 微调 / 基础设施完整教程)

• 谷歌 Gemma4
• ROCm 7 环境准备
• LM Studio / vLLM / Ollama / llama.cpp
• Qwen3.5
• ROCm 7 环境准备
• LM Studio / vLLM / Ollama / llama.cpp

昇腾Ascend NPU 专区

🚀 昇腾Ascend NPU 平台已支持模型
每个模型都提供完整的昇腾Ascend NPU 环境配置和部署教程
📖 查看完整昇腾 NPU 平台模型列表和教程

• Qwen3.6
• vLLM-ascend 部署调用
• Qwen3
• Ascend NPU 环境配置通用指南
• MindIE 服务化部署调用
• vLLM-ascend 部署调用
• sglang-ascend 部署调用
• 大模型服务化性能和精度测试
• AISBench 测试工具环境配置
• 昇腾大模型服务化性能测试
• 昇腾大模型服务化精度测试

沐曦专区

Coming Soon!

Apple M 专区

📖 点击跳转 Apple M 专区

Welcome More Platforms!

致谢

核心贡献者

注:排名根据贡献程度排序

其他

感谢 AMD University Program(AMD 大学计划)对本项目的支持
ROCm     AMD University Program

Star History

self-llm (datawhalechina/self-llm)

llamacpp
Searching Database…

32.5K ·GitHub
What is this?Self-llm is a Chinese-language tutorial collection that teaches beginners how to configure environments, deploy, and fine-tune (full-parameter or LoRA) 50+ open-source large language models and multimodal models on Linux.
Is this a library I install, or a collection of tutorials?It is a collection of Jupyter Notebook tutorials and guides, one set per supported model, not a library, app, or framework you import.
Where should a beginner start?Start with environment setup, then move to model deployment, and finish with fine-tuning; beginners are advised to begin with easier models like Qwen1.5, InternLM2, or MiniCPM before browsing the full table of 50+ supported models.
Are all hardware platforms and models fully ready right now?Not all of them — the Muxi platform section is explicitly marked as not yet available, while Apple Silicon support is still being tested and expanded.
Who is this meant for?It targets Chinese students and self-learners who want to run and fine-tune open-source LLMs locally without API access, as a stepping stone before deeper LLM theory or application-development courses.
What is Tianji (天机) mentioned as an example project?Tianji is one of the example mini-projects built with self-llm: a full-pipeline LLM application for social-etiquette scenarios, covering prompt engineering, agent building, data collection/fine-tuning, and RAG data cleaning.
Which deployment tools are covered in the tutorials?Depending on the model and hardware, guides show deployment via command-line calls, online demos, LangChain integration, and tools like vLLM, Ollama, LM Studio, llama.cpp, and sglang.
Does it support non-Nvidia hardware?Yes, beyond the main Linux/GPU track there are dedicated sections for AMD GPUs (ROCm) and Huawei Ascend NPUs, with Apple Silicon support also in progress.
Can I add a tutorial for a new model myself?Yes, the project explicitly invites contributors to open issues or submit pull requests to add tutorials for more models and hardware platforms.
Size
215.1 MB
Stars
32.5K
Updated
CommitSep 12
Age
2y
Commits · 90 Days