自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 第五课基础&进阶作业 of 书生·浦语大模型实战营(第二期):LMDeploy量化部署

为了缓解LLM推理过程中的访存密集问题,可以对模型参数进行量化,减少显存的占用和访存量,提高模型推理的效率。此处使用的W4A16量化是指将 FP16 的模型权重量化为 INT4,在Kernel 计算时,访存量降为 FP16 模型的 1/4。有了运行模型的server之后,我们就可以通过客户端(client)连接这个server,从而实现在client端调用模型的功能。操作与前面的课程类似。KV Cache是一种缓存技术,通过存储键值对的形式来复用计算结果,可以降低推理过程中的内存消耗。

2024-05-05 15:48:23 1607

原创 第四课基础&进阶作业 of 书生·浦语大模型实战营(第二期):XTuner微调

4. 在openxlab平台部署应用。在openxlab平台的新建应用页面,选择start.py作为启动脚本,它完成的是git clone上面我上传好的模型,并且运行streamlit应用。要使基于文本单模态训练的LLM具有识别和解释图片的能力,需要训练一个image projector,将输入图像转换为LLM可以理解的图像向量,从而实现基于图像的对话和文本生成。训练轮次达到600/830之后,可以看到loss的变化已经不大,从模型的回答可以看出,对于“你是我的小助手吗”这个问题,模型表现出过拟合。

2024-05-05 15:47:13 1851

原创 第四课学习笔记 of 书生·浦语大模型实战营(第二期):XTuner微调

增量预训练使用文章、书籍、代码等训练数据,旨在让基座模型学会某个垂类领域的新知识,微调的结果是所谓的“垂类基座模型”。指令跟随的训练数据则是高质量的对话(问答)数据,旨在让模型学会根据人类的指令进行回答和对话。本次实践中采用的微调方式是LoRA/QLoRA,它并不是直接更新原有大模型的权重参数(区别于全量微调),而是在原本的模型基础上新建一个旁侧支路,称为adapter,这个支路的参数数量远小于原模型。那么,为了评估模型的效果, 需要对比模型的输出和预先准备好的label。

2024-04-30 10:26:04 321

原创 第七课学习笔记 of 书生·浦语大模型实战营(第二期):OpenCompass大模型评测实战

2024年1月30日,OpenCompass 2.0司南大模型评测体系正式开源发布。OpenCompass涵盖了评测基准(CompassHub评测集社区)、评测工具(CompassKit全栈评测工具)以及评测榜单(CompassRank)。针对上述大模型评测面临的挑战,CompassKit提出了一系列解决方案。CompassKit提供了多种数据污染检测方法,支持LMDeploy, LightLLM等多种推理后端,支持长文本能力评测,并且支持基于大模型的中英文双语主观评测。

2024-04-24 16:08:12 331

原创 第六课学习笔记 of 书生·浦语大模型实战营(第二期):Agent

可能生成过时的答案;智能体就是这样一种基于LLM扩展形成的技术,它包括控制模块(大脑,可以是LLM)、感知模块(感知外部环境的多模态信息)和动作模块(利用并执行工具以改变环境)。Lagent和AgentLego的区别在于,前者定义了LLM调用工具、使用工具和输出结果的框架,而后者主要关注的是提供多模态工具包的支持,某种程度上可以看成是前者的一个功能模块。Lagent是一个轻量级的开源智能体框架,为LLM扩展为agent提供了多种工具的支持,并且支持AutoGPT, ReWoo, ReAct等智能体架构。

2024-04-24 14:35:58 249

原创 第六课基础&进阶作业 of 书生·浦语大模型实战营(第二期):Agent

输入“请帮我搜索“Generative AI Agents for Satellite Networks through a Mixture of Experts Transmission””(这是一篇4月中旬刚刚发布在arxiv上的论文),可以看到agent给出了正确的结果。Lagent Web Demo的构建需要LMDeploy 所启动的 api_server和以streamlit形式运行的Lagent Web Demo,二者分别在InternStudio开发机的两个终端(以及两个端口)上运行。

2024-04-23 16:54:39 556 1

原创 第七课基础作业 of 书生·浦语大模型实战营(第二期):OpenCompass大模型评测实战

首先,按照教程内容配置环境。然后,解压评测数据到/root/opencompass/data/处。查看和internLM和C-Eval相关的配置,结果报错缺少mmengine包,于是我通过执行pip install mmengine来安装。来查看opencompass环境中是否安装了protobuf包。本次实验旨在评测InternLM2-Chat-1.8B模型在C-Eval数据集上的性能。安装mmengine之后,我发现仍然缺少一些其它的包,查看教程发现需要先执行。然后,按照教程的提示,使用命令。

2024-04-23 16:06:35 294

原创 第五课学习笔记 of 书生·浦语大模型实战营(第二期):LMDeploy量化部署

LMDeploy涵盖了大模型的推理、量化、服务部署的全流程。在模型高效推理方面,针对LLaMa模型写了一套高效的cuda算子实现,并且实现了continuous batch推理模式和可扩展的KV缓存管理器。在模型量化压缩方面,将FP16量化为INT4,访存量降低为1/4。

2024-04-23 11:21:49 266

原创 第三课学习笔记 of 书生·浦语大模型实战营(第二期):RAG智能助理

在面对训练数据中没有的知识时,大语言模型(LLM)难以生成正确的回答,可能出现幻觉(hallucination),也就是给出看似正确实则虚假的回答。RAG(Retrieval Augmented Generation,检索增强生成)有助于解决这个问题,它的基本思路是赋予LLM检索外部知识库的功能,使LLM结合检索的信息生成更准确的回答。RAG相当于“LLM+搜索引擎”,无需训练过程,可在低成本的条件下提升LLM在特定知识领域的能力。

2024-04-22 21:10:04 403

原创 第三课基础作业 of 书生·浦语大模型实战营(第二期):RAG智能助理

7. 创建基于茴香豆技术文档的知识库,从而实现在不重新训练的情况下使茴香豆具备回答技术文档相关内容的能力。另外,创建两个分别表示接受回答的问题和拒绝回答的问题的知识库,使茴香豆能够更精确地判断哪些问题需要作答,避免回答无关问题造成群内消息过多和资源浪费。在这一步中,通过编辑good_questions.json文件,在其中添加了一系列希望茴香豆作答的问题。2. 使用conda env list命令列出当前所有的conda环境,第二课作业中创建的demo环境还在,因为开发机的文件没有删除。

2024-04-18 20:36:05 452 1

原创 第二课学习笔记 of 书生·浦语大模型实战营(第二期)

其中,第二、三部分要用到我的本地计算机和Intern Studio开发机的SSH连接。SSH(Secure SHell,安全外壳)协议是一种加密的网络传输协议,最常用于远程登录系统。本次课程主要介绍了四部分内容,通过四个demo实例讲解了InternLM2大模型的基本部署方法。之后应powershell的要求输入开发机的密钥,即可完成SSH连接。第一部分:下载InternLM-Chat-1.8B模型,部署Client Demo。第二部分:部署八戒-Chat-1.8B的web demo。

2024-04-11 20:36:06 135

原创 第二课作业 of 书生·浦语大模型实战营(第二期)

选择Terminal环境,配置微调所需的conda环境(新建一个名为demo的conda环境),安装了pytorch等包。对于输入的命令前面的提示内容,"(base)"表示当前我们处在名为base的conda环境中。使用的命令是"conda info --envs",查看现有conda环境的名称和路径。由于本次实验使用的开发机是Ubuntu系统,因此这段关于目录和文件操作的指令应该可以放心地应用于Linux系统的开发机。(在教程步骤的基础上,写一些个人认为的要点,详细步骤请参考以上链接:)

2024-04-05 16:11:17 130 1

原创 第一课学习笔记 of 书生·浦语大模型实战营(第二期)

然后,在SFT和RLHF阶段,InternLM2不仅使用了32k上下文的训练数据来增强上下文处理能力,而且引入了COnditional OnLine RLHF (COOL RLHF)的方法来改进RLHF,其中,只需一个条件奖励模型即可在不同偏好的训练数据之间达到很好的折中,而无需采用当前普遍使用的多个奖励模型分别处理不同偏好的方法,降低了模型的复杂度和计算负担。2、InternLM2的超强性能在目前的开源大模型中首屈一指,支持包括超长上下文、优质的对话和创作体验、完善的工具链、强大的代码解释和数理能力等。

2024-03-31 16:34:07 1497 1

原创 [动手学深度学习v2]学习笔记——python中range, list和pytorch tensor的区别

用range(n)生成从0到n-1的对象,用list()将其转换为list对象,这个list对象可以用[]索引,可以由torch.tensor()转换为tensor对象,也可以作为random.shuffle()的输入。3、random.shuffle(...)的目的是打乱列表顺序,对于list输入,结果是正确的,但对于tensor输入结果错误。产生疑问:为什么要用list(range(...))?random.shuffle(...)是指对输入进行操作,会改写输入的list,但它没有返回值。

2024-03-16 22:11:55 178 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除