赞
踩
来源:书生·浦语大模型全链路开源体系_哔哩哔哩_bilibili
感谢书生·浦语和上海人工智能实验室!!!
感谢书生·浦语和上海人工智能实验室提供的模型和算力支持!!!
官方笔记:https://github.com/InternLM/tutorial/blob/main/helloworld/hello_world.md
自己安装则要要使用python3 /root/code/InternLM/cli_demo.py
因为默认安装python3
参考连接:linux系统中-bash: python: command not found解决方法-CSDN博客
查看显存占用命令:vgpu-smi
基础作业:
huggingface_hub
python 包,下载 InternLM-20B
的 config.json 文件到本地(需截图下载过程)。进阶作业(可选做)
上面的会超时,使用Modelscope下载:
- python3 examples/web_demo.py \
- --folder /root/model/Shanghai_AI_Laboratory/internlm-xcomposer-7b \
- --num_gpus 1 \
- --port 6006
感谢书生·浦语和上海人工智能实验室提供的模型和算力支持!!!
使用 huggingface 官方提供的 huggingface-cli 命令行工具下载:(搭配镜像源)
安装下载遇到的问题:huggingface-cli: command not found
解决方式:huggingface-cli: command not found-CSDN博客
基础作业:
复现课程知识库助手搭建过程 (截图)
不知道是7b的模型太小还是数据库的问题,显示出的结果没有想象的好。
感谢书生·浦语和上海人工智能实验室提供的模型和算力支持!!!
课程:https://github.com/InternLM/tutorial/blob/main/xtuner/README.md
官方教程:https://github.com/InternLM/tutorial/blob/main/xtuner/self.md
本节课的学习的内容:
可以支持多专家系统
- # 列出所有内置配置
- xtuner list-cfg
需要等待比较久的时间才可以显示出来全部的内容(e3表示执行3边)
注意:1、平台的有之前的模型比较快,自己平台需要用huggingface或者Modelscope进行处理。2、数据集分为训练和验证两个部分。
1、根据官方的教程
- import json
-
- # 输入你的名字
- name = '陈同学'
- # 重复次数
- n = 10000
-
- data = [
- {
- "conversation": [
- {
- "input": "请做一下自我介绍",
- "output": "我是{}的小助手,内在是上海AI实验室书生·浦语的7B大模型哦".format(name)
- }
- ]
- }
- ]
-
- for i in range(n):
- data.append(data[0])
-
- with open('personal_assistant.json', 'w', encoding='utf-8') as f:
- json.dump(data, f, ensure_ascii=False, indent=4)
2、自己在kaggle上进行写的代码
- keyword = '陈同学'
-
- description = '''我是陈同学的人工智能小助手!'''
-
- #对prompt使用一些简单的数据增强的方法,以便更好地收敛。
- def get_prompt_list(keyword):
- return [f'{keyword}',
- f'你知道{keyword}吗?',
- f'{keyword}是什么?',
- f'介绍一下{keyword}',
- f'你听过{keyword}吗?',
- f'啥是{keyword}?',
- f'{keyword}是何物?',
- f'何为{keyword}?',
- ]
-
- data =[{'prompt':x,'response':description} for x in get_prompt_list(keyword) ]
- dfdata = pd.DataFrame(data)
- display(dfdata)
超参介绍:
先到家home的目录:
- mkdir hf
- export MKL_SERVICE_FORCE_INTEL=1
-
- xtuner convert pth_to_hf ./internlm_chat_7b_qlora_oasst1_e3_copy.py ./work_dirs/internlm_chat_7b_qlora_oasst1_e3_copy/epoch_1.pth ./hf
合并成功!
(可以选择上传到huggingface还是ModelScope)
- # # 下载的方式
- # import os
- # # 下载模型
- # os.system('huggingface-cli download
- # --resume-download internlm/internlm-chat-7b
- # --local-dir your_path')
- # """
- # # import os
- # # from huggingface_hub import hf_hub_download # Load model directly
-
- # # hf_hub_download(repo_id="internlm/internlm-20b",local_dir ='/root/testcode', filename="config.json")
-
- # # import torch
- # # from modelscope import snapshot_download, AutoModel, AutoTokenizer
- # # import os
- # # model_dir = snapshot_download('Shanghai_AI_Laboratory/internlm-20b', cache_dir='/root/testcode', revision='master')
-
- # # 下载指定文件
- # from modelscope.hub.file_download import model_file_download
-
- # model_dir = model_file_download(model_id='Shanghai_AI_Laboratory/internlm-20b',cache_dir='/root/testcode',file_path='config.json')
- import os
-
- os.environ['HUGGING_FACE_HUB_TOKEN'] = '码'
- # from huggingface_hub import login
- # login() #需要注册一个huggingface账户,在个人页面setting那里创建一个有write权限的access token
- from huggingface_hub import HfApi
- api = HfApi()
- #创建huggingface 模型库
- repo_id = "CH-UP/internLM"
- api.create_repo(repo_id=repo_id)
-
- #上传模型可能需要等待10分钟左右~
- api.upload_folder(
- folder_path=save_path,
- repo_id=repo_id,
- repo_type="model", #space, model, datasets
- )
- from modelscope.hub.api import HubApi
-
- YOUR_ACCESS_TOKEN = '码'
- # 请注意ModelScope平台针对SDK访问和git访问两种模式,提供两种不同的访问令牌(token)。此处请使用SDK访问令牌。
-
-
- api = HubApi()
- api.login(YOUR_ACCESS_TOKEN)
- api.push_model(
- model_id="CHUPer/internLM",
- model_dir="/root/ft-oasst1/personal_assistant/config/work_dirs/hf_merge" # 本地模型目录,要求目录中必须包含configuration.json
- )
基础作业:
构建数据集,使用 XTuner 微调 InternLM-Chat-7B 模型, 让模型学习到它是你的智能小助手,效果如下图所示,本作业训练出来的模型的输出需要将不要葱姜蒜大佬替换成自己名字或昵称!
微调前(回答比较官方)
微调后:
超参介绍:
注意:tmux,中断终端(实现一个即使本地ssh关闭也是可以正常跑的,可以再查资料或者这个教程的部分内容)
先到家(home)的目录
- mkdir hf
- export MKL_SERVICE_FORCE_INTEL=1
-
- xtuner convert pth_to_hf ./internlm_chat_7b_qlora_oasst1_e3_copy.py ./work_dirs/internlm_chat_7b_qlora_oasst1_e3_copy/epoch_1.pth ./hf
mkdir /root/ft-oasst1/personal_assistant/config/work_dirs/hf
- # 创建用于存放Hugging Face格式参数的hf文件夹
- mkdir /root/personal_assistant/config/work_dirs/hf
-
- export MKL_SERVICE_FORCE_INTEL=1
-
- # 配置文件存放的位置
- export CONFIG_NAME_OR_PATH=/root/ft-oasst1/personal_assistant/config/internlm_chat_7b_qlora_oasst1_e3_copy.py
-
- # 模型训练后得到的pth格式参数存放的位置
- export PTH=/root/ft-oasst1/personal_assistant/config/work_dirs/internlm_chat_7b_qlora_oasst1_e3_copy/epoch_1.pth
-
- # pth文件转换为Hugging Face格式后参数存放的位置
- export SAVE_PATH=/root/ft-oasst1/personal_assistant/config/work_dirs/hf
-
- # 执行参数转换
- xtuner convert pth_to_hf $CONFIG_NAME_OR_PATH $PTH $SAVE_PATH
忽视好像也可以正常转换
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。