【InternLM实战营第二期笔记】02:大模型全链路开源体系与趣味demo

本文主要是介绍【InternLM实战营第二期笔记】02:大模型全链路开源体系与趣味demo,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 00 环境设置
  • 01 部署一个 chat 小模型
  • 02 Lagent 运行 InternLM2-chat-7B
  • 03 浦语·灵笔2

第二节课程视频与文档:
https://www.bilibili.com/video/BV1AH4y1H78d/
https://github.com/InternLM/Tutorial/blob/camp2/helloworld/hello_world.md

视频和文档内容基本重合,因此这次笔记也同时记录和推进
在这里插入图片描述

课程分成这四个部分;社区也随训练营产生了多个兴趣小组:
在这里插入图片描述
估计是完成训练营后可以加入其中继续学习和研究。

00 环境设置

在这里插入图片描述
完成作业一官方会发放算力点,兑换成开发机的使用配置*时间。
第一次配置开发机需要十分钟左右,后续再开会快很多。
第一个项目需要的算力比较少,因此选择了资源最小的配置+4小时时长,但真正跑起来发现可能时间非常紧张,仅安装环境差不多需要一个小时时间,IO 效率太离谱了……但免费的教学资源也不好多说啥。
忍忍吧。

PS. 教程中的等效配置理论上会快一些,注意要把-c pytorch -c nvidia去掉。开发机的网络环境访问不了这些源。
我低估了“配置环境较长,需耐心等待”的离谱程度

01 部署一个 chat 小模型

安装完环境,剩下的流程就非常简单了。跑过本地模型的人都比较熟悉,教程提供了相应脚本,下载权重,运行脚本加载、推理即可。
在这里插入图片描述
下载八戒微调版本:
在这里插入图片描述
可见网速是非常快的,但推理速度比较慢。
运行体验:

python /root/Tutorial/helloworld/bajie_download.py
streamlit run /root/Tutorial/helloworld/bajie_chat.py --server.address 127.0.0.1 --server.port 6006

我也是 windows 用户,不过由于上方命令是直接在 IDE 的 terminal 中运行的,VS Code 自动提供了端口转发。

streamlit 提供了在线对话 UI,趁后台在慢悠悠加载模型,去瞅一眼 bajie_chat.py 的代码:
在这里插入图片描述

  • 生成设置
  • 交互处理
  • 加载模型
  • ……

模型加载好了:
在这里插入图片描述

换了几条 Query 都能接上,自我认知倒是入心入脑了。

02 Lagent 运行 InternLM2-chat-7B

按照教程下载项目文件并安装,五分钟左右安装完 Lagent 的教学版本并加载模型。
同样,WebIDE 是你的好帮手,直接运行点击弹出的提示跳转到页面即可:
在这里插入图片描述
在这里插入图片描述

03 浦语·灵笔2

在这里插入图片描述
网页怎么没有正常渲染出来呢……

换到 VQA 模型,好像有同样的问题:
在这里插入图片描述
不知道问题出在哪……这个作业的花费时间有点超出我预计,第二节容我先这样吧.

这篇关于【InternLM实战营第二期笔记】02:大模型全链路开源体系与趣味demo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1006243

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

springboot filter实现请求响应全链路拦截

《springbootfilter实现请求响应全链路拦截》这篇文章主要为大家详细介绍了SpringBoot如何结合Filter同时拦截请求和响应,从而实现​​日志采集自动化,感兴趣的小伙伴可以跟随小... 目录一、为什么你需要这个过滤器?​​​二、核心实现:一个Filter搞定双向数据流​​​​三、完整代码

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python实战之屏幕录制功能的实现

《Python实战之屏幕录制功能的实现》屏幕录制,即屏幕捕获,是指将计算机屏幕上的活动记录下来,生成视频文件,本文主要为大家介绍了如何使用Python实现这一功能,希望对大家有所帮助... 目录屏幕录制原理图像捕获音频捕获编码压缩输出保存完整的屏幕录制工具高级功能实时预览增加水印多平台支持屏幕录制原理屏幕