首页 > 其他分享 >【InternLM实战营---第二节课笔记】

【InternLM实战营---第二节课笔记】

时间:2024-04-02 09:00:24浏览次数:13  
标签:显存 demo 模型 --- conda InternLM GPU 第二节 root

一、本期课程内容概述

本节课的主讲老师是角色扮演SIG小组长任宇鹏。教学内容主要包括以下四个部分:

  1. 部署 InternLM2-Chat-1.8B 模型进行智能对话
  2. 部署实战营优秀作品 八戒-Chat-1.8B 模型
  3. 通过 InternLM2-Chat-7B 运行 Lagent 智能体 Demo
  4. 实践部署 浦语·灵笔2 模型

二、学习收获

  • 在 InternStudio 平台上创建并使用开发机
    开发机有VSCode,Jupyterlab,Terminal 三种视图,可根据个人喜好进行选择。还可以在完成配置SSH key后,使用本地 IDE SSH 连接到开发机。

  • 使用 studio-conda 安装依赖

    studio-conda -o internlm-base -t demo
    

    这个命令应该是InternStudio平台开发机特有的命令,如果熟悉 conda,也可以选择自行创建环境并安装依赖。

    conda create -n demo python==3.10 -y
    conda activate demo
    conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
    
  • 通过代码下载自定义模型

    import os
    from modelscope.hub.snapshot_download import snapshot_download
    
    # 创建保存模型目录
    os.system("mkdir /root/models")
    
    # save_dir是模型保存到本地的目录
    save_dir="/root/models"
    
    snapshot_download("Shanghai_AI_Laboratory/internlm2-chat-1_8b", 
                      cache_dir=save_dir, 
                      revision='v1.1.0')
    
  • 实现开发机到本地端口映射
    这个真的很实用,解决了我在课程开始前体验XTuner时遇到的困惑,如何访问开发机中的服务,在群里也看到了很多小伙伴遇到这个问题。
    打开本地机器的Terminal ,输入下面这行命令后,输入密码即可

    ssh -p 40297 [email protected] -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyChecking=no
    

    命令中的 40927 以及密码可以在开发机的SSH连接页面中获得。

  • 使用 share 文件夹的资源。
    构造软连接来访问share文件夹中的资源,避免重复下载模型文件

    ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b /root/models/internlm2-chat-7b
    

三、个人体会

  • 教程真的很详细,小白也能上手操作,感兴趣的可以点击查看
  • 以前玩过图生文模型和文生图模型,图文并茂的模型还是第一次见,有点牛
  • 模型虽好,但是对算力要求好高啊,排队太难了

四、本期作业

https://blog.csdn.net/weixin_45609124/article/details/137210438

五、加更–作业踩坑

  • 进阶作业—使用 Lagent 运行 InternLM2-Chat-7B 模型(开启 30% A100 权限后才可开启此章节)
    按照教程中的操作走是没有问题的,而且30%A100也就是24G显存,运行7B模型是足够的,但是很多同学都遇到了显存不足的问题,如下图所示:
    在这里插入图片描述
    首先先查看GPU的使用情况,确保显存没有被其他进程占用,可输入以下命令查看GPU的使用情况

    studio-smi
    

    在这里插入图片描述
    如果GPU资源存在被占用的情况,可输入以下命令进行查看

    ps -ef | grep python
    

    然后使用 kill命令,关闭对应的进程来释放资源
    在确保GPU资源足够的情况下,再运行Lagent-web的demo。
    但是demo代码有一些不合理的地方,刷新页面会导致重复加载模型,然后显存不足。
    解决方案为:访问lagent-web页面时,发现与教程页面不一样时,请耐心等待,模型加载完毕后即可操作。

标签:显存,demo,模型,---,conda,InternLM,GPU,第二节,root
From: https://blog.csdn.net/weixin_45609124/article/details/137204978

相关文章

  • 每日一题 --- 找出字符串中第一个匹配项的下标[力扣][Go]
    找出字符串中第一个匹配项的下标题目:28.找出字符串中第一个匹配项的下标给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不是haystack的一部分,则返回-1。示例1:输入:haystack="sa......
  • 每日一题 --- 右旋字符串[卡码][Go]
    右旋字符串题目:55.右旋字符串(第八期模拟笔试)(kamacoder.com)题目描述字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串s和一个正整数k,请编写一个函数,将字符串中的后面k个字符移到字符串的前面,实现字符串的右旋转操作。例如,对于......
  • Kubernetes kafka系列 | Strimzi 部署kafka-bridge
    Strimzi+kafka集群部署直通车一、kafkabridge介绍KafkaBridge是ApacheKafka生态系统中的一个工具或组件,用于实现Kafka与其他系统或协议之间的通信或集成。Kafka本身是一个分布式事件流平台,广泛用于构建实时数据流水线和流式应用程序。然而,并非所有系统或应用程......
  • 【YOLOv5改进系列(11)】高效涨点----添加soft-nms(IoU,GIoU,DIoU,CIoU,EIoU,SIoU)到yol
    文章目录......
  • 【华为OD机试真题】A卷-优秀学员统计(JAVA)
    一、题目描述【华为OD机试真题】A卷-优秀学员统计(JAVA)题目描述:公司某部门软件教导团正在组织新员工每日打卡学习活动,他们开展这项学习活动已经一个月了,所以想统计下这个月优秀的打卡员工。每个员工会对应一个id,每天的打卡记录记录当天打卡员工的id集合,一共30天。请你实现......
  • 【华为OD机试真题】A卷-预定酒店(JAVA)
    一、题目描述【华为OD机试真题】A卷-预定酒店(JAVA)题目描述:放暑假了,小明决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为n的数组A),他的心理价位是x元,请帮他筛选出k个最接近x元的酒店(n>=k>0),并由低到高打印酒店的价格二、输入输出输入描述:第一行:n,k,x......
  • c语言字符串逆序-基础知识
    c语言字符串逆序(1)错误输出(2)正确输出:方法1(3)正确输出:方法2......
  • 计算机组成与体系结构--2.6:总线系统,2.7:寻址方式,2.8:CISC与RISC
    转上一节:http://t.csdnimg.cn/3xoZahttp://t.csdnimg.cn/3xoZa2.6:总线系统按照连接对象分为:内总线(又称为系统总线,各功能部件之间的传输通路)和外总线(又称通信总线,是系统之间或是计算机主机与外围设备之间的传输通路)按照通信仿式分为:串行总线(数据按位依次传输)和并行......
  • 【论文解读】PA-Sketch: A Fast and Accurate Sketch for Differentiated Flow Estima
    论文链接:https://ieeexplore.ieee.org/abstract/document/10355581开源代码:无0.问题和关键见解问题:大多数已有的草图方法都忽略了流优先级之间的区别,尽管高优先级的流相对稀少,但却蕴含着重要信息。因此,最近出现了一系列优先级感知草图的工作,旨在为不同优先级的流提供不......
  • vant-weapp 提供的areaList城市数据的路径问题
    根据vant官网提供的引入方法会报错。通过add@vant/area-data会下载一份index.esm.mjs文件城市数据在项目中,我尝试了用各种路径来获取还是报错,最后只能将该index.esm.mjs文件复制到其他文件中,然后引入就可以了。 1.新建一个文件夹专门放数据的,然后在建个文件用来放这个......