书生.浦语大模型实战一

从专用模型到通用大模型

数据

书生.万卷1.0

  • 文本
  • 图像-文本
  • 视频数据

OpenDataLab开放平台

  • 图像:ImageNet
  • tokens语料:WikiQA
  • 音频
  • 视频:MovieNet
  • 3D模型

预训练

微调

增量续训

使用场景:让基座模型学习到一些新知识,如某个垂类领域知识

训练数据:文章、书籍、代码等

有监督微调

使用场景:让模型学会理解和遵循各种指令、或者注入少量领域知识

训练数据:高质量对话、问答数据

有监督微调分为

  • 全量参数微调
  • 部分参数微调:固定模型主干,只对部分参数更新

部署

大语言模型特征

  • 内存开销巨大
    • 庞大的参数量
    • 采用自回归生成token,需要缓存k/v
  • 动态Shape
    • 请求数不固定
    • token逐个生成、且数量不定
  • 模型结构相对简单
    • transformer结构,大部分是decoder-only

智能体

由于大语言模型的局限性,例如

  • 最新信息和知识的获取
  • 回复的可靠性
  • 数学计算
  • 工具使用和交互

因此,需要在LLM的基础上,封装诸多策略和工具,如下图。

在这里插入图片描述

轻量智能体框架Lagent

在这里插入图片描述

Task1 InternLM-Chat-7B 智能对话 Demo

bash # 请每次使用 jupyter lab 打开终端时务必先执行 bash 命令进入 bash 中
/root/share/install_conda_env_internlm_base.sh internlm-demo

下载过程如下

在这里插入图片描述

激活并进入虚拟环境

conda activate internlm-demo

在虚拟环境中安装运行demo所需要的依赖

# 升级pip
python -m pip install --upgrade pippip install modelscope==1.9.5
pip install transformers==4.35.2
pip install streamlit==1.24.0
pip install sentencepiece==0.1.99
pip install accelerate==0.24.1

在这里插入图片描述

模型下载或复制

InternStudio 平台的 share 目录下已经为我们准备了全系列的 InternLM 模型,所以我们可以直接复制即可。使用如下命令复制:

mkdir -p /root/model/Shanghai_AI_Laboratory
cp -r /root/share/temp/model_repos/internlm-chat-7b /root/model/Shanghai_AI_Laboratory

代码下载

首先 clone 代码,在 /root 路径下新建 code 目录,然后切换路径, clone 代码.

cd /root/code
git clone https://gitee.com/internlm/InternLM.git

在这里插入图片描述

/root/code/InternLM/web_demo.py 中 29 行和 33 行的模型更换为本地的 /root/model/Shanghai_AI_Laboratory/internlm-chat-7b

开发机终端运行

我们可以在 /root/code/InternLM 目录下新建一个 cli_demo.py 文件,将以下代码填入其中:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLMmodel_name_or_path = "/root/model/Shanghai_AI_Laboratory/internlm-chat-7b"tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype=torch.bfloat16, device_map='auto')
model = model.eval()system_prompt = """You are an AI assistant whose name is InternLM (书生·浦语).
- InternLM (书生·浦语) is a conversational language model that is developed by Shanghai AI Laboratory (上海人工智能实验室). It is designed to be helpful, honest, and harmless.
- InternLM (书生·浦语) can understand and communicate fluently in the language chosen by the user such as English and 中文.
"""messages = [(system_prompt, '')]print("=============Welcome to InternLM chatbot, type 'exit' to exit.=============")while True:input_text = input("User  >>> ")input_text = input_text.replace(' ', '')if input_text == "exit":breakresponse, history = model.chat(tokenizer, input_text, history=messages)messages.append((input_text, response))print(f"robot >>> {response}")

在远程终端运行

python /root/code/InternLM/cli_demo.py

在这里插入图片描述

在这里插入图片描述

1938年,晋西北,秋风萧瑟,草木凋零。一座小村庄里,住着一位名叫王老汉的老人。他年过六旬,膝下只有一女,名叫小红。小红从小便被王老汉养大,两人相依为命,过着平淡而幸福的生活。

然而,日本侵略者的到来打破了这种平静。1937年,日本鬼子突然袭击了王老汉的村庄,村民们纷纷逃窜,王老汉也因此失去了小红。他悲痛欲绝,发誓要为小红报仇雪恨。

经过几年的准备,王老汉终于等来了复仇的机会。他带领自己的部队,开始了游击战争,与日本鬼子展开了激烈的战斗。在这场战争中,王老汉不惧生死,勇往直前,最终带领部队成功地打败了日本鬼子。

小红得知后,感激不已,但她却选择了与王老汉分开,前往山区继续开展游击战争。虽然两人的联系已经断绝,但他们之间的感情却更加坚定。最终,王老汉带着胜利的喜悦,带着对小红的思念,离开了人世。

王老汉的牺牲,让人们更加深刻地认识到侵略者的不义,也让人们更加珍视和平与安宁。他的故事,将永远流传下去。

web demo运行

继续在虚拟环境中运行

streamlit run web_demo.py --server.address 127.0.0.1 --server.port 6006

要想在本地浏览器中打开web页面,还需要配置端口映射,即在本地生成ssh密钥对,将公钥配置到开发机中,配置完成后在本地终端输入端口映射命令。最后的开发机端口点击ssh连接进行查看。

ssh -CNg -L 6006:127.0.0.1:6006 root@ssh.intern-ai.org.cn -p xxxxx

在这里插入图片描述

Lagent

加载模型成功

在这里插入图片描述

huggingface-cli下载

1.安装依赖

pip install -U huggingface_hub

2.众所周知的原因,需要将镜像源换为国内

export HF_ENDPOINT=https://hf-mirror.com

在这里插入图片描述

在这里插入图片描述

reference

如何快速下载huggingface模型——全方法总结

Huggingface 镜像站

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

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

相关文章

Ubuntu 20.04 Intel RealSense D435i 相机标定教程

下载编译code_utils mkdir -p ~/imu_catkin_ws/src cd ~/imu_catkin_ws/src catkin_init_workspace source ~/imu_catkin_ws/devel/setup.bash git clone https://github.com/gaowenliang/code_utils.git cd .. catkin_make报错:sumpixel_test.cpp:2:10: fatal err…

vivado 使用IP Integrator源

使用IP Integrator源 在Vivado Design Suite中,您可以在RTL中添加和管理IP子系统块设计(.bd)项目或设计。使用Vivado IP集成程序,您可以创建IP子系统块设计。IP集成程序使您能够通过实例化和将Vivado IP目录中的多个IP核互连。可…

改进YOLOv8:添加CBAM注意力机制(涨点明显)

1、计算机视觉中的注意力机制 计算机视觉中的注意力机制是一种聚焦于局部信息的机制,其基本思想是让系统学会忽略无关信息而关注重点信息。这种机制在图像识别、物体检测和人脸识别等任务中都发挥了重要作用。 注意力机制的实现方法有多种,其中包括空间…

亲手打造一个本地LLM语音助手来管理智能家居

经历过 Siri 和 Google 助手之后,我发现尽管它们能够控制各种设备,但却无法进行个性化定制,并且不可避免地依赖于云服务。出于对新知识的渴望以及想在生活中使用一些酷炫的东西,我下定决心,要追求更高的目标。我的要求…

【RTOS】快速体验FreeRTOS所有常用API(2)任务管理

目录 二、任务管理2.1 任务创建(三种方式)1)动态内存分配方式创建任务2)静态内存分配方式创建任务3)带有任务参数方式创建任务 2.2 任务删除2.3 两种delay 二、任务管理 该部分在上份代码基础上修改得来,代…

​HDD回暖于2024,与SSD决战于2028--part2

东芝和西部数据在2023年的硬盘产品中都没有采用类似希捷的HAMR技术产品,而是采用了其他的技术方案用于提升存储容量。 东芝采用了MAMR技术,通过微波磁通控制现象来提高高密度区域的写入信号质量。根据厂商的测试数据发现,MAMR的磁头可靠性比H…

Flink-容错机制

Flink中的容错机制 流式数据连续不断地到来,无休无止;所以流处理程序也是持续运行的,并没有一个明确的结束退出时间。机器运行程序,996 起来当然比人要容易得多,不过希望“永远运行”也是不切实际的。因为各种硬件软件…

HCIP ISIS实验

拓扑图&IP划分如下图: 第一步,配置IP地址&环回地址 以R1为例,R2~R8同理 interface GigabitEthernet 0/0/0 ip address 18.1.1.1 24 interface GigabitEthernet 0/0/1 ip address 12.1.1.1 24 interface LoopBack 0 ip address 1.1.…

第07章_面向对象编程(进阶)拓展练习(关键字:this,继承性和方法重写,关键字:super,多态性,Object类)

文章目录 第07章_面向对象编程(进阶)拓展练习01-关键字:this1、Circle类2、MyDate类3、Card类 02-继承性和方法重写4、Person、Student、Teacher类5、DepositCard、CreditCard类6、Employee、Programmer、Designer、Architect类7、判断输出结…

统计学-R语言-4.6

文章目录 前言列联表条形图及其变种---单式条形图条形图及其变种---帕累托图条形图及其变种---复式条形图条形图及其变种---脊形图条形图及其变种---马赛克图饼图及其变种---饼图饼图及其变种---扇形图直方图茎叶图箱线图小提琴图气泡图总结 前言 本篇文章是对数据可视化的补充…

Centos7.9忘记Root密码找回

Centos7.9忘记Root密码找回 1. 背景2. 目的3. 具体操作3.1 重启系统3.2 增加代码3.3 单用户模式3.4 单用户模式3.5 修改密码3.6 创建文件3.7 重启验证 1. 背景 由于物理主机上安装了多个虚拟机,部分虚拟机忘记了root密码,前段时间刚好要用这个虚拟机&…

智慧康养项目:智能技术与产品提升老年人生活品质

智慧康养项目需要集成的一些独特的技术和产品,其中包括: 智能健康监测设备:我们开发了一款能够实时监测老年人身体状况的智能健康监测设备,包括血压、血糖、心率等指标。该设备通过数据分析处理,能够提供个性化的健康…

内存泄漏问题

内存泄漏是一种常见的问题,它可能导致系统内存不断增加,最终耗尽可用内存。解决内存泄漏问题通常需要进行调试和分析。下面是一些可能有助于解决内存泄漏问题的步骤: 1. 监控内存使用情况: a. 使用 malloc 记录日志:…

【Dart】=> [05] Dart初体验-函数

文章目录 函数函数特点可选和默认参数函数对象箭头函数匿名函数综合案例 能够定义并使用Dart函数 学习内容: 函数定义可选和默认参数函数对象箭头函数匿名函数 函数 函数定义 Dart函数的结构: 调用函数: 案例:定义计算任意…

短视频账号矩阵剪辑分发系统无人直播技术开发源头

一、全行业独家源头最全面的核心技术 短视频矩阵新玩法是指利用批量自动混剪系统来处理大量短视频,通过智能算法自动进行视频剪辑、场景切换、特效添加等操作,最终生成高质量、精彩纷呈的混剪视频作品的方法和技术。这一方法的出现使得大规模短视频制作…

牛客周赛 Round 3 解题报告 | 珂学家 | 贪心思维场

前言 寒之不寒无水也,热之不热无火也。 整体评价 感觉比较简单,更加侧重于思维吧。和前几场的Round系列,风格不太一样。 A. 游游的7的倍数 因为连续7个数,比如有一个数是7的倍数 因此从个位数中着手添加,是最好的选…

java自定义排序Comparator

📑前言 本文主要是【java】——java自定义排序Comparator的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每…

2024年AMC8历年真题练一练和答案详解(8),以及全真模拟题

今天是1月15日,距离本周五的AMC8正式比赛还有四天时间,已经放寒假了的孩子可以多点时间复习备考,还在准备期末考试的孩子可以先以期末考试为重,忙里偷闲刷一下AMC8的题目保持感觉——系统的知识学习可能时间不够了,可以…

响应式编程初探-自定义实现Reactive Streams规范

最近在学响应式编程,这里先记录下,响应式编程的一些基础内容 1.名词解释 Reactive Streams、Reactor、WebFlux以及响应式编程之间存在密切的关系,它们共同构成了在Java生态系统中处理异步和响应式编程的一系列工具和框架。 Reactive Streams…

参与直播领取龙年大礼盒!23年Coremail社区年终福利大放送

2023年终福利大放送 Coremail 管理员社区是由 Coremail 邮件安全团队、服务团队及多条产品线共同维护,集 7*24h 在线自助查询、技术问答交流、大咖互动分享、资料下载等功能于一体,专属于 Coremail 邮件管理员、安全员成长互动的知识库社区。 转眼间&am…