《开源大模型食用指南》适合中国宝宝的部署教程,基于Linux环境快速部署开源大模型
本项目是一个围绕开源大模型、针对国内初学者、基于 AutoDL 平台的中国宝宝专属大模型教程,针对各类开源大模型提供包括环境配置、本地部署、高效微调等技能在内的全流程指导,简化开源大模型的部署、使用和应用流程,让更多的普通学生、研究者更好地使用开源大模型,帮助开源、自由的大模型更快融入到普通学习者的生活中。
本项目的主要内容包括:
-
基于 Linux 平台的开源 LLM 环境配置指南,针对不同模型要求提供不同的详细环境配置步骤;
-
针对国内外主流开源 LLM 的部署使用教程,包括 LLaMA、ChatGLM、InternLM 等;
-
开源 LLM 的部署应用指导,包括命令行调用、在线 Demo 部署、LangChain 框架集成等;
-
开源 LLM 的全量微调、高效微调方法,包括分布式全量微调、LoRA、ptuning 等。
什么是大模型?
大模型(LLM)狭义上指基于深度学习算法进行训练的自然语言处理(NLP)模型,主要应用于自然语言理解和生成等领域,广义上还包括机器视觉(CV)大模型、多模态大模型和科学计算大模型等。
百模大战正值火热,开源 LLM 层出不穷。如今国内外已经涌现了众多优秀开源 LLM,国外如 LLaMA、Alpaca,国内如 ChatGLM、BaiChuan、InternLM(书生·浦语)等。开源 LLM 支持用户本地部署、私域微调,每一个人都可以在开源 LLM 的基础上打造专属于自己的独特大模型。
然而,当前普通学生和用户想要使用这些大模型,需要具备一定的技术能力,才能完成模型的部署和使用。对于层出不穷又各有特色的开源 LLM,想要快速掌握一个开源 LLM 的应用方法,是一项比较有挑战的任务。
本项目旨在首先基于核心贡献者的经验,实现国内外主流开源 LLM 的部署、使用与微调教程;在实现主流 LLM 的相关部分之后,我们希望充分聚集共创者,一起丰富这个开源 LLM 的世界,打造更多、更全面特色 LLM 的教程。星火点点,汇聚成海。
项目受众
本项目适合以下学习者:
-
想要使用或体验 LLM,但无条件获得或使用相关 API;
-
希望长期、低成本、大量应用 LLM;
-
对开源 LLM 感兴趣,想要亲自上手开源 LLM;
-
NLP 在学,希望进一步学习 LLM;
-
希望结合开源 LLM,打造领域特色的私域 LLM;
-
以及最广大、最普通的学生群体。
项目规划及进展
本项目拟围绕开源 LLM 应用全流程组织,包括环境配置及使用、部署应用、微调等,每个部分覆盖主流及特点开源 LLM:
项目地址
https://github.com/datawhalechina/self-llm?tab=readme-ov-file
已支持模型
-
Llama3_1-8B-Instruct
- Llama3_1-8B-Instruct FastApi 部署调用
- Llama3_1-8B-Instruct langchain 接入
- Llama3_1-8B-Instruct WebDemo 部署
- Llama3_1-8B-Instruct Lora 微调
-
Gemma-2-9b-it
- Gemma-2-9b-it FastApi 部署调用
- Gemma-2-9b-it langchain 接入
- Gemma-2-9b-it WebDemo 部署
- Gemma-2-9b-it Peft Lora 微调
-
Yuan2.0
- Yuan2.0-2B FastApi 部署调用
- Yuan2.0-2B Langchain 接入
- Yuan2.0-2B WebDemo部署
- Yuan2.0-2B vLLM部署调用
- Yuan2.0-2B Lora微调
-
Yuan2.0-M32
- Yuan2.0-M32 FastApi 部署调用
- Yuan2.0-M32 Langchain 接入
- Yuan2.0-M32 WebDemo部署
-
DeepSeek-Coder-V2
- DeepSeek-Coder-V2-Lite-Instruct FastApi 部署调用
- DeepSeek-Coder-V2-Lite-Instruct langchain 接入
- DeepSeek-Coder-V2-Lite-Instruct WebDemo 部署
- DeepSeek-Coder-V2-Lite-Instruct Lora 微调
-
哔哩哔哩 Index-1.9B
- Index-1.9B-Chat FastApi 部署调用
- Index-1.9B-Chat langchain 接入
- Index-1.9B-Chat WebDemo 部署
- Index-1.9B-Chat Lora 微调
-
Qwen2
- Qwen2-7B-Instruct FastApi 部署调用
- Qwen2-7B-Instruct langchain 接入
- Qwen2-7B-Instruct WebDemo 部署
- Qwen2-7B-Instruct vLLM 部署调用
- Qwen2-7B-Instruct Lora 微调
-
GLM-4
- GLM-4-9B-chat FastApi 部署调用
- GLM-4-9B-chat langchain 接入
- GLM-4-9B-chat WebDemo 部署
- GLM-4-9B-chat vLLM 部署
- GLM-4-9B-chat Lora 微调
-
Qwen 1.5
- Qwen1.5-7B-chat FastApi 部署调用
- Qwen1.5-7B-chat langchain 接入
- Qwen1.5-7B-chat WebDemo 部署
- Qwen1.5-7B-chat Lora 微调
- Qwen1.5-72B-chat-GPTQ-Int4 部署环境
- Qwen1.5-MoE-chat Transformers 部署调用
- Qwen1.5-7B-chat vLLM推理部署
- Qwen1.5-7B-chat Lora 微调 接入SwanLab实验管理平台
-
谷歌-Gemma
- gemma-2b-it FastApi 部署调用
- gemma-2b-it langchain 接入
- gemma-2b-it WebDemo 部署
- gemma-2b-it Peft Lora 微调
-
phi-3
- Phi-3-mini-4k-instruct FastApi 部署调用
- Phi-3-mini-4k-instruct langchain 接入
- Phi-3-mini-4k-instruct WebDemo 部署
- Phi-3-mini-4k-instruct Lora 微调
-
CharacterGLM-6B
- CharacterGLM-6B Transformers 部署调用
- CharacterGLM-6B FastApi 部署调用
- CharacterGLM-6B webdemo 部署
- CharacterGLM-6B Lora 微调
-
LLaMA3-8B-Instruct
- LLaMA3-8B-Instruct FastApi 部署调用
- LLaMA3-8B-Instruct langchain 接入
- LLaMA3-8B-Instruct WebDemo 部署
- LLaMA3-8B-Instruct Lora 微调
-
XVERSE-7B-Chat
- XVERSE-7B-Chat transformers 部署调用
- XVERSE-7B-Chat FastApi 部署调用
- XVERSE-7B-Chat langchain 接入
- XVERSE-7B-Chat WebDemo 部署
- XVERSE-7B-Chat Lora 微调
-
TransNormerLLM
- TransNormerLLM-7B-Chat FastApi 部署调用
- TransNormerLLM-7B-Chat langchain 接入
- TransNormerLLM-7B-Chat WebDemo 部署
- TransNormerLLM-7B-Chat Lora 微调
-
BlueLM Vivo 蓝心大模型
- BlueLM-7B-Chat FatApi 部署调用
- BlueLM-7B-Chat langchain 接入
- BlueLM-7B-Chat WebDemo 部署
- BlueLM-7B-Chat Lora 微调
-
InternLM2
- InternLM2-7B-chat FastApi 部署调用
- InternLM2-7B-chat langchain 接入
- InternLM2-7B-chat WebDemo 部署
- InternLM2-7B-chat Xtuner Qlora 微调
-
DeepSeek 深度求索
- DeepSeek-7B-chat FastApi 部署调用
- DeepSeek-7B-chat langchain 接入
- DeepSeek-7B-chat WebDemo
- DeepSeek-7B-chat Lora 微调
- DeepSeek-7B-chat 4bits量化 Qlora 微调
- DeepSeek-MoE-16b-chat Transformers 部署调用
- DeepSeek-MoE-16b-chat FastApi 部署调用
- DeepSeek-coder-6.7b finetune colab
- Deepseek-coder-6.7b webdemo colab
-
MiniCPM
- MiniCPM-2B-chat transformers 部署调用
- MiniCPM-2B-chat FastApi 部署调用
- MiniCPM-2B-chat langchain 接入
- MiniCPM-2B-chat webdemo 部署
- MiniCPM-2B-chat Lora && Full 微调
- 官方友情链接:面壁小钢炮MiniCPM教程
-
Qwen-Audio
- Qwen-Audio FastApi 部署调用
- Qwen-Audio WebDemo
通用环境配置
-
pip、conda 换源
-
AutoDL 开放端口
-
模型下载
- hugging face
- hugging face
- modelscope
- git-lfs
- Openxlab
-
Issue && PR
- Issue 提交
- PR 提交
- fork更新
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
文章知识点与官方知识档案匹配,可进一步学习相关知识
相关文章:
《开源大模型食用指南》适合中国宝宝的部署教程,基于Linux环境快速部署开源大模型
本项目是一个围绕开源大模型、针对国内初学者、基于 AutoDL 平台的中国宝宝专属大模型教程,针对各类开源大模型提供包括环境配置、本地部署、高效微调等技能在内的全流程指导,简化开源大模型的部署、使用和应用流程,让更多的普通学生、研究者…...
体验教程:通义灵码陪你备战求职季
本场景将带大家体验在技术面试准备场景下,如何通过使用阿里云通义灵码实现高效的编程算法题练习 、代码优化、技术知识查询等工作,帮助开发者提升实战能力,更加从容地应对面试挑战。主要包括: 1、模拟题练习:精心挑选…...
(070)爬楼梯
思路:一次爬一个或者一次爬两个楼梯,终止条件,即是当n1或n2时,完成操作,当n>2时,总方法就等于一次爬一个楼梯的方法数加上一次爬两个楼梯的方法数。 解法一:递归解法 if(n 1)return 1;if(n 2)return 2…...
el-table 表格序号列前端实现递增,切换分页不从头开始
<el-table-column type"index" width"55" label"序号" :index"hIndex"> </el-table-column> 分页 <el-pagination size-change"handleSizeChange" current-change"handleCurrentChange"> <…...
NSSCTF-Web题目27(Nginx漏洞、php伪协议、php解析绕过)
目录 [HNCTF 2022 WEEK2]easy_include 1、题目 2、知识点 3、思路 [NSSRound#8 Basic]MyDoor 4、题目 5、知识点 6、思路 [HNCTF 2022 WEEK2]easy_include 1、题目 2、知识点 nginx日志漏洞执行系统命令 3、思路 打开题目,出现源码 题目要我们上传一个fi…...
分割损失:Dice vs. IoU
NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 对于医学影像分割…...
SpringBoot整合Juint,ssm框架
目录 SpringBoot整合Juint 1.导入相关的依赖 2.创建测试类,使用注解SpringBootTest SpringBoot整合ssm框架 1.使用脚手架创建Spring项目 2.修改pom.xml 我先修改了SpringBoot的版本,修改为2.3.10.RELEASE,因为SpringBoot版本太高会出现…...
基于supervisor制作基于环境变量配置的redis
背景: redis 的镜像很多很多,但都需要直接修改配置文件,不符合我们公司当前环境变量解决一切容易配置的思路。 材料: 1、CentOS-Base.repo [base] nameCentOS-$releasever enabled1 failovermethodpriority baseurlhttp://mirr…...
动态规划part01 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
509. 斐波那契数 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n - 1) F(n - 2),其中 …...
CSS实现图片边框酷炫效果
一、前言 我们在浏览一些网页时,经常会看到一些好看酷炫的元素边框效果(如下图),那么这些效果是怎么实现的呢?我们知道,一般的边框,要么是实线,要么是虚线(点状…...
遇到 MySQL 死锁问题如何解决?
终于来到死锁检查线程的第三步,可以解决死锁了。 作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。 爱可生开源社区出品,原创内容未经授权不得随意使用࿰…...
Pyinstaller打包OSError: could not get source code【终极解决】
pyinstaller 打包的时候,发现只要是torch.jit.script装饰的函数,会报以下错误: Traceback (most recent call last):File "torch/_sources.py", line 25, in get_source_lines_and_fileFile "inspect.py", line 1123, i…...
【计算机毕业设计】707高校宿舍管理系统
🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板ÿ…...
从C++看C#托管内存与非托管内存
进程的内存 一个exe文件,在没有运行时,其磁盘存储空间格式为函数代码段全局变量段。加载为内存后,其进程内存模式增加为函数代码段全局变量段函数调用栈堆区。我们重点讨论堆区。 托管堆与非托管堆 C# int a10这种代码申请的内存空间位于函…...
Linux进程间通信--IPC之无名管道
进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。 IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams支持不同主机上的两个进程的IPC。...
Oracle19c数据库system密码锁定
一、在oracle 19c数据库中,cdb中system用户被锁定,locked 二、所在的pdb中的system用户状态是正常的,但不可用,连接的时候提示账号已锁定 三、解决 在cdb中将system用户解锁。 alter user system account unlock;...
java之hashCode() 方法和 equals(Object obj) 方法之间的关系
1、 hashCode() 方法和 equals(Object obj) 在Java中,hashCode() 方法和 equals(Object obj) 方法之间的关系是紧密相连的,特别是在使用基于哈希的集合(如 HashSet、HashMap、HashTable 等)时。这两个方法共同决定了对象在哈希表…...
首届「中国可观测日」圆满落幕
首届中国可观测日(Observability Day)在上海圆满落幕,为监控观测领域带来了一场技术盛宴。作为技术交流的重要平台,此次活动不仅促进了观测云与亚马逊云科技之间的深化合作,更标志着双方共同推动行业发展的重要里程碑。…...
[Docker][Docker NetWork][下]详细讲解
目录 1.网络管理命令1.docker network creatre2.docker network inspect3.docker network connect4.docker network disconnect5.docker network prune6.docker network rm7.docker network ls 2.docker bridge 详解0.基本概念1.默认 bridge2.自定义 bridge3.DNS解析4.端口暴露…...
安卓系统在未来如何更好地解决隐私保护与数据安全的问题?
安卓系统可以通过以下方式更好地解决隐私保护与数据安全的问题: 强化权限控制:安卓系统可以进一步加强对应用程序权限的管理,确保用户能够清楚地知道应用程序需要哪些权限,并给予用户更多的控制权,例如允许用户选择性地…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
