Python 多进程使用单机多GPU加速推理
我这里有个需求就是能够使用本机多个GPU对只能使用单GPU的模型进行推理,以能够释放多GPU的潜力,加速推理,节约时间。因为模型需要使用 torch 进行GPU运算,简单的调用 python 内建的 multiprocessing 无法正常执行,需要使用 torch.multiprocessing,后者支持前者完全相同的操作,但扩展了前者以便通过 multiprocessing.Queue 发送的所有张量将其数据移动到共享内存中,并且只会向其他进程发送一个句柄。
多进程使用多GPU1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677import mathimport os# 使用torch的multiprocessing,对原生multiprocessing进行了封装import torch.multiprocessing as mpfrom tq ...
基于 LMDeploy 的大模型量化和部署
本篇介绍如何在 Jupyter Notebook 中使用 LMDeploy 对大模型进行量化和部署。
环境配置Terminal 中执行下面命令:
12345conda create -n lmdeploy --clone /share/conda_envs/internlm-baseconda activate lmdeploypip install ipykernelpython -m ipykernel install --user --name lmdeploy --display-name lmdeploy
创建 notebook,选择内核 lmdeploy,执行一下代码
1234567891011# 设置notebook环境import os, sysPATH = os.environ['PATH']basedir = os.path.dirname(os.path.dirname(sys.exec_prefix))# 这里的 $PATH 也可以替换为 {os.environ['PATH']}。这里只是为了展 ...
利用 XTuner 训练书生·浦语私人大模型助手
本篇介绍如何使用 XTuner 微调 InternLM 称为私人智能助手。
目标:使用 XTuner 微调 InternLM-Chat 模型,使得其能够知道它的主人是谁。
环境配置先在命令行终端执行下面命令:
conda create –name personal_assistant python=3.10 -y
conda activate personal_assistant
pip install ipykernel
python -m ipykernel install –user –name personal_assistant –display-name personal_assistant
1234567891011# 设置notebook环境import os, sysPATH = os.environ['PATH']basedir = os.path.dirname(os.path.dirname(sys.exec_prefix))# 这里的 $PATH 也可以替换为 {os.environ['PATH ...
XTuner 大模型训练
本篇介绍如何使用 XTuner 进行大模型训练与微调。
环境配置12345# 在终端执行这些命令conda create --name xtuner0.1.9 python=3.10 -yconda activate xtuner0.1.0pip install ipykernelpython -m ipykernel install --user --name xtuner --display-name xtuner
刷新 notebook, 选择新内核 xtuner
12%cd ~%mkdir xtuner019 && cd xtuner019
1!git clone -b v0.1.9 https://github.com/InternLM/xtuner
1%cd xtuner
1%pip install -e '.[all]'
12%mkdir ~/ft-oasst1%cd ~/ft-oasst1
1import os, sys
12PATH = os.environ['PATH']PATH ...
基于 InternLM 和 LangChain 搭建私人知识库
本篇介绍基于 InternLM 和 LangChain 搭建私人知识库。
环境配置12345!conda create --name internlm_langchain --clone=/root/share/conda_envs/internlm-base!/root/.conda/envs/internlm_langchain/bin/python -m pip install ipykernel ipywidgets!/root/.conda/envs/internlm_langchain/bin/python -m ipykernel install --user --name internlm_langchain --display-name internlm_langchain# refresh web and use new kernel internlm_langchain
1234# 升级pip%pip install -q --upgrade pip%pip install -q modelscope==1.9.5 transformers==4.35.2 ...
书生·浦语大模型使用
本篇介绍书生·浦语大模型的使用,包括智能对话、智能体工具调用和图文理解创作等。
InternLM-Chat-7B 智能对话环境配置12345!conda create --name internlm-chat --clone=/root/share/conda_envs/internlm-base!/root/.conda/envs/internlm-chat/bin/python -m pip install ipykernel ipywidgets!/root/.conda/envs/internlm-chat/bin/python -m ipykernel install --user --name internlm-chat --display-name internlm-chat# restart kernel and use internlm-chat env
12%pip install -q --upgrade pip%pip install -q modelscope==1.9.5 transformers==4.35.2 streamlit==1.24.0 ...
Ubuntu 18.04 上安装 glibc 2.28 支持 QT6
最新的 QT6 需要 GLIBC_2.28 的支持,但是 Ubuntu18.04 上最高的 GLIBC 版本是 2.27,无法满足。本篇介绍如何在 Ubuntu18.04 上安装 GLIBC_2.28.
查看系统支持的 GLIBC 版本号1234ldd --version# orstrings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_
安装 GLIBC 2.281234567sudo su -c 'echo "deb http://security.debian.org/debian-security buster/updates main" >> /etc/apt/sources.list' rootsudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 112695A0E562B32A 54404762BBB6E853sudo apt updatesudo apt install libc6 libc6-de ...
书生·浦语大模型介绍
本篇简单介绍上海人工智能实验室的书生·浦语大模型。
书生·浦语大模型包含三大类:
轻量级:InternLM-7B,社区低成本可用最佳模型规模
中量级:InternLM-20B,商业场景可开发定制高精度较小模型规模
重量级:InternLM-123B,通用大语言模型能力全面覆盖千亿模型规模
数据 书生·万卷书生·万卷多达 2TB 数据,涵盖多种模态和任务。发布日期 2023 年 8 月 14 日。包含文本数据(50 亿个文档,数据量超 1TB),图像-文本数据集(超 2200 万个文件,数据量超 140GB),视频数据(超 1000 个文件,数据量超 900GB)。
OpenDataLab 提供了更多的开放数据。
预训练 InternLM-Train并行训练,极致优化。速度达到 3600 tokens/sec/gpu。
支持从 8 卡到千卡训练,千卡训练效率达 92%;无缝接入 HuggingFace 等技术生态,支持各类轻量化技术。
微调 XTunerXTuner 是一种高效的大模型微调框架:
支持多种任务类型,如增量预训练,指令微调,工具类指令微调
支持全 ...
使用 timm 模块查看常见深度学习模型结构
深度学习中预训练模型库非常重要,它能够帮助我们非常方便的获取到模型的结构、模型的权重文件等,这大大降低了入门深度学习的门槛,如高性能的硬件设备(服务器、GPU),同时使用迁移学习的思想能够大大缩短我们开发可实用模型的时间。常见的预训练模型库包含有 torchvision.models(CV 模型)、transformers(CV 和 NLP 大模型相关)、timm(包含 CV 领域小模型和大模型,开发公司同 transformers 的 hugging face)。其中 timm 非常方便我们查看模型结构,同时可加载预训练的模型权重,且支持的模型比较多。本篇介绍 timm。
安装timm 的官方网址是:https://github.com/huggingface/pytorch-image-models
1pip install timm
使用查看预训练模型1234import timmavail_pretrained_models = timm.list_models(pretrained=True)len(avail_pretrained_models)
12# 截止目前 ...
在 jupyter 中安装 Python 第三方软件包
经常使用 Jupyter 的用户常常着迷于其友好的历史命令记录功能,这样能够非常方便的查看和分享我们在编写和运行代码时都是使用了什么命令,能够很好的用于回顾、排查和分享程序等,如执行该项目安装的软件以及方法等。本篇介绍如何在 jupyter 中安装 Python 第三方软件。
借助 IPython 魔法命令IPython 是一种基于 Python 交互式解释器,提供了更为强大的编辑和交互功能。在 IPython 中最为重要的就是其提供的魔法命令,Jupyter 使用 IPython 作为其 Python 内核,同样能够使用 IPython 的魔法命令。在 IPython 中有两个 line 魔法命令(以一个 % 开头):%pip 和 %conda。
1234567891011121314# 安装到当前 jupyter notebook 使用的运行环境%pip install rich streamlit# 通过源码安装最新版%pip install git+https://github.com/huggingface/transformers.git@main# 通过源码安装指定 ...
huggingface 模型的使用
Hugging Face 是一家于 2016 年成立的美国公司,专门开发用于构建机器学习应用的工具。该公司的代表产品是其为自然语言处理应用构建的transformers库,以及允许用户共享机器学习模型和数据集的平台。本篇介绍如何使用 Python 使用 Hugging Face 上的模型。
配置环境使用 Hugging Face 的模型库,必然需要使用其公司开发的 transformers 模型库软件包。Transformers模型库(Transformers Library)是一个Python软件包,其中包含了用于文本、图像和音频任务的Transformer模型的开源实现。它与PyTorch、TensorFlow和JAX深度学习库兼容,并包括了BERT和GPT-2等知名模型的实现。该库最初名为“pytorch-pretrained-bert”,后来更名为“pytorch-transformers”,最终改名为“transformers”。
本篇以 Salesforce/blip2-flan-t5-xl 为例演示。更多模型库请访问 Hugging Face 官网 查看 M ...