大语言模型教程与实践(开源)

1.简介

大语言模型(Large Language Models, LLMs)的兴起确实始于OpenAI在2018年发布的GPT(Generative Pre-trained Transformer),这一开创性工作引领了自然语言处理领域的新纪元。随后,2022年底ChatGPT的横空出世,进一步加速了大语言模型技术的应用普及,它不仅展示了惊人的生成能力和理解深度,还极大地推动了人工智能技术的社会认知与应用边界。

对于技术开发者而言,想要深入学习大语言模型技术,确实需要掌握一系列复杂而深奥的知识体系。在24年之前,市面上尚缺乏关于大型模型的系统书籍。因此,从网络上搜集整理了大量关于大型语言模型的知识,并将这些资料分类汇总后开源至GitHub。在深入学习这一领域时,发现关于模型微调、部署应用的文章较为丰富,相比之下,关于从头开始训练大型模型、SFT、DPO等方面的实践知识则相对稀缺。鉴于此,,在学习的过程中,从零开始训练一个小参数的大语言模型,让消费级的显卡也能训练起来大模型,学习大模型的实践知识。

适用人群:

  • wdndev/llm_interview_note:适合初学者了解什么是大模型;想转行大模型的技术人员;
  • wdndev/tiny-llm-zh:想深入了解大模型,动手实践

2.LLMs基础知识

开源地址:wdndev/llm_interview_note

本项目系统性地从以下九个维度对大模型相关知识进行了细致整理与分类,旨在便于学习与查阅。尤为重要的是,我们已将核心知识点导出为PDF文档,以便学习者能够便捷地打印,进行线下纸质学习,提升学习的灵活性与深度。

以下是项目部分内容的目录概览:

目录
01.大语言模型简介
02.大语言模型基础
03.语言模型训练数据集
04.分布式训练
05.有监督微调
06.推理
07.强化学习
08.检索增强rag
09.大语言模型评估
10.大语言模型应用
98.LLMs相关课程
99.参考资料

在这里插入图片描述

3.Tiny LLM zh

开源地址:wdndev/tiny-llm-zh (github.com)

本项目的核心目标是创建一个轻量级的中文语言大模型,旨在加速初学者掌握大模型领域的相关知识。已开源一款92M参数的模型,在无GPU配置的计算机上能够迅速响应,平均只需约1秒即可生成问题解答。对于从零开始训练,92M模型在处理90亿token的数据上,利用8块RTX 3090显卡,预计可在一天之内完成训练任务。

模型架构:采纳了成熟的开源设计,模型架构囊括了业界广泛认可的技术组件,如RMSNorm(均方根层归一化)、RoPE(旋转位置编码)以及多头自注意力机制(MHA)等。

实现细节:遵循严谨的两阶段训练流程及后续的人工智能对齐策略,具体步骤为:预训练(PTM)->指令精细调整(SFT)->人类对齐(采用RLHF或DPO技术)->评估。

开源资源:对数据源,数据处理,预训练,微调代码都已开源,方便学习训练。

项目已部署,可以在如下网站上体验:ModeScope Tiny LLM

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/6538.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

课程表 - LeetCode 热题 53

大家好!我是曾续缘💘 今天是《LeetCode 热题 100》系列 发车第 53 天 图论第 3 题 ❤️点赞 👍 收藏 ⭐再看,养成习惯 课程表 你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需…

oneapi:强大而易用的OpenAI接口管理和分发系统 大模型 通用接口 ollama

使用One-api代理我所有的各类接口渠道,包括gpt-3.5-trubo、gpt-4等openAI官方模型,azure提供的模型,集成联网知识库等功能的gpt4模型,以及国内模型的一些模型。同时支持openai图像生成接口。 1. 准备工作 创建应用目录,例如在/share/Container下创建文件夹oneapi在oneapi…

情绪自留地:是自我世界,不被他人左右

情绪,是我们内心世界的反映,它既能够体现我们对外界事物的态度,也是我们自我认知的重要部分。在现代社会,人们越来越重视情绪管理,因为良好的情绪状态对于个人的心理健康和社交关系都有着不可忽视的影响。本文将探讨如…

代码随想录算法训练营DAY40\DAY41|C++动态规划Part.3|343.整数拆分、96.不同的二叉搜索树

DAY40休息日,本篇为DAY41的内容 文章目录 343.整数拆分思路dp含义递推公式(难点)初始化遍历顺序打印 CPP代码数学方法归纳证明法 96.不同的二叉搜索树思路dp含义递推公式初始化遍历顺序打印 CPP代码题目总结 343.整数拆分 力扣题目链接 文章…

Windows系统下安装Mosquitto的步骤(7)

接前一篇文章:Windows系统下安装Mosquitto的步骤(6) 本文内容参考: Windows下搭建MQTT服务器_mqtt服务器软件-CSDN博客 Enable SSL/TLS Connection | EMQX Enterprise Docs 特此致谢! 上一回讲解了使用MQTTX图形界面…

C/C++开发,opencv-ml库学习,K近邻(KNN)应用

目录 一、k近邻算法 1.1 算法简介 1.2 opencv-k近邻算法 二、cv::ml::KNearest应用 2.1 数据集样本准备 2.2 KNearest应用 2.3 程序编译 2.4 main.cpp全代码 一、k近邻算法 1.1 算法简介 K近邻算法(K-Nearest Neighbor,KNN)基本原理是…

uniapp 微信开发工具上访问正常,真机调试一直跨域报错

微信小程序真机调试时,出现跨域问题,需要同时在后端设置多种允许跨域的设置: // 指定允许其他域名访问 header(Access-Control-Allow-Origin:*); // 响应类型 header(Access-Control-Allow-Methods:GET,POST,OPTION); // 响应头设置 header(…

【实验】根据docker部署nginx并且实现https

环境准备 systemctl stop firewalld setenforce 0 安装docker #安装依赖包 yum -y install yum-utils device-mapper-persistent-data lvm2 #设置阿里云镜像 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #安装最新版…

python的基本语法

Python的基本语法包括变量、数据类型、运算符、控制流、函数、类和模块等,它们可以帮助用户快速编写高效程序。本文逐个详解。 简介 Python是一种非常受欢迎的计算机编程语言,它拥有强大的功能,可以用于开发各种软件,包括移动应…

Unity 编辑器工具 - 资源引用查找器

在Unity项目开发过程中,管理和维护资源之间的引用关系是至关重要的。当然我们项目也是需要这个功能 毕竟项目大了之后查找资源引用还是交给 资源引用查找器 比较好。 功能概述 资源引用查找器允许开发者选择一个目标资源,并在整个项目中查找引用了该资…

记录vue报错问题 in ./node_modules/axios/lib/platform/index.js

今天这个问题困扰了我许久 报错内容如下: 最初一直以为是我没装axios,又重新装了一次,后面才发现是axios版本原因,真的总是被版本的原因困住真的很烦 解决方法如下: 将axios的版本改为1.5.0 1、打开项目的文件夹“…

SharedPreferences源码解析

前言 文章中部分地方SharedPreferences会简写成SP,先抛出几个问题: SP存储的是什么文件,存储在哪个位置?SP是线程安全的吗?SP是如何保证数据安全的?使用SP有哪些问题?SP会把数据加载到内存中吗…

wireshark的安装使用及相关UDP、TCP、 ARP

初步了解: 进入wireshark后如图: 从图中可以看到很多网络连接在操作的时候我们需要监测哪些 我们可以直接在本地的运行框中输入ipconfig来查看 如图: 从以上图片中我们可以清楚地看到哪些网络连接已经连接的我们只需要按需监测他们即可 但…

JSP与JavaBean

目录 一、JavaBean是什么 二、创建JavaBean 三、在JSP中使用JavaBean 1、按照Java语法直接使用 2、<jsp:useBean>动作 Bean的加载原理 scope属性的不同取值 3、<jsp:setProperty>动作 设置为一个表达式的值或字符序列 通过表单的参数的值来设置Bean的相应…

Java中有ConcurrentHashMap,解释它如何帮助管理并发性

ConcurrentHashMap 是 Java 并发包 java.util.concurrent 中的一个线程安全的哈希表实现。它被设计用来提供高效率的并发访问并且在多线程环境下可以显著提升性能。与传统的 HashMap 不同&#xff0c;ConcurrentHashMap 对整个数据结构进行了细粒度的锁控制。这些主要特性有助于…

【C++】STL — List的接口讲解 +详细模拟实现

前言&#xff1a; 本章我们将学习STL中另一个重要的类模板list… list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。list的底层是带头双向循环链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xf…

vue3+vite+js axios引用

先交代下基础版本&#xff1a; “node”&#xff1a;“V16.14.1” “vue”: “^3.4.21” “vite”: “^5.2.0” 安装&#xff1a;npm install axios --save在src目录下的utils文件夹创建一个request.js文件&#xff08;示例代码&#xff0c;仅供参考&#xff09;: //引入axio…

论文笔记ColdDTA:利用数据增强和基于注意力的特征融合进行药物靶标结合亲和力预测

ColdDTA发表在Computers in Biology and Medicine 的一篇一区文章 突出 • 数据增强和基于注意力的特征融合用于药物靶点结合亲和力预测。 • 与其他方法相比&#xff0c;它在 Davis、KIBA 和 BindingDB 数据集上显示出竞争性能。 • 可视化模型权重可以获得可解释的见解。 …

三种滤波(EKF、UKF、CKF)的对比,含MATLAB源代码

使用MATLAB模拟三维的滤波,包含扩展卡尔曼滤波EKF、无迹卡尔曼滤波UKF、容积卡尔曼滤波CKF。 状态更新和观测更新均为非线性的,模拟一定强度的机动性,可用于卡尔曼滤波方法的对比学习,自己修改成需要的运动模型后,可以用于组合导航(GPS+DVL形式)。 运行结果 真值的三轴…

Unity UGUI Image 点击事件忽略空白像素区域

我们会遇到图片不是方形的不规则图片。这个时候我们希望只有点击到图像内容本身才算点击&#xff0c;点击空白区域则不算点击。而UGUI对图片的处理是整个图片都会算作点击区域&#xff0c;这样不能满足于我们的使用需求了。 首先我们需要把图片本身的Read/Write 选项打开 然后…