书生·浦语大模型使用
本篇介绍书生·浦语大模型的使用,包括智能对话、智能体工具调用和图文理解创作等。
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 ...
git 给仓库打标签 tag
在使用 git 进行代码版本控制的时候,常常会使用打标签以示重要版本。如 open-mmlab/mmdetection 仓库中和分支(Branches)并列的 Tags 列,标识了不同 mmdetection 的重要版本更新,如 v1.0.0, v2.0.0, v3.0.0,目前最新版的是 v3.1.0。本篇介绍如何给自己的仓库打标签。
创建标签为当前版本库创建标签有两种方法,一种是附注标签,一种是轻量标签。有时,我们想为历史版本创建标签,称为后期标签。
轻量标签很像一个不会改变的分支——它只是某个特定提交的引用。
而附注标签是存储在 Git 数据库中的一个完整对象, 它们是可以被校验的,其中包含打标签者的名字、电子邮件地址、日期时间, 此外还有一个标签信息,并且可以使用 GNU Privacy Guard (GPG)签名并验证。 通常会建议创建附注标签,这样你可以拥有以上所有信息。但是如果你只是想用一个临时的标签, 或者因为某些原因不想要保存这些信息,那么也可以用轻量标签。
附注标签12345678# 给当前版本库打上标签 v1.0,并附上说明文字git tag -a ...
Git LFS 介绍
Git LFS(Large File Storage),表示 Git 大文件存储。一直以来 git 只能提交存储小文件大远程仓库,当遇到大文件时 push 会遇到卡死等问题。因此,出现了 Git LFS,解决 git 仓库的大文件的版本管理。随着深度学习模型越来越大,特别是大模型、多模态大模型的出现,预训练得到的权重文件多达几十G不等,这些大文件的管理使用 LFS 再合适不过了。如 Hugging Face 上的模型仓库大文件都是用 LFS 管理。本篇介绍如何使用 Git LFS.
Git LFS 是一个命令行扩展和规范,用于使用 Git 管理大文件。 该客户端是用 Go 编写的,预编译的二进制文件可用于 Mac、Windows、Linux 和 FreeBSD。
安装官网安装地址:https://github.com/git-lfs/git-lfs/tree/main#installing
Note: Git LFS requires at least Git 1.8.2 on Linux or 1.8.5 on macOS.
123456789101112# Debian/Ubu ...
使用 gradio 快速部署 python 项目
使用 Python 开发的深度学习模型想要提供给客户使用,往往需要先把代码打包成 docker 镜像,然后前后端代码,最后才能展示给客户。这一过程繁琐且给开发人员带来巨大的工作量。本篇介绍一种快速展示、部署和调试 Python 开发的深度学习模型的方法,那就是 gradio(一种 Python 包)。借助 Gradio,您可以围绕机器学习模型或数据科学工作流程快速创建漂亮的用户界面,并让人们通过拖放自己的图像、粘贴文本、录制自己的声音以及与其他人进行交互来“尝试一下”您的演示,全部通过浏览器进行。
安装1pip install gradio
使用假设我要使用 SAM 来进行图像分割,那么我首先需要根据 github官网 配置环境。然后,安装 gradio。
当所有环境都配置好后,我们编写简单的几行代码就能够把命令行或者 notebook 上的 SAM 代码在网页端展示。首先,创建一个目录,并把一些图像存放在其下的 images 文件夹下:
1234567mkdir /disk0/documents/codes/gradio_webmkdir -p /disk0/docume ...
利用 Python 把 vsdx 文件转为图像
vsdx 是微软提供的 visio 画图软件生成的文件扩展格式,本篇介绍在没有安装 visio 软件的情况下利用 Python 把别人发来的 vsdx 文件转化为图像。
安装依赖包假设 Python 已经安装配置好,那么还需要安装微软提供的 visio api: aspose-diagram,该包依赖 jpype1:
1pip install aspose-diagram jpype1
微软提供了各种 APIs 来转换 vsdx,我这里演示使用 Python via Java,因此需要在机器上安装 java jdk :
123wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gztar -xzvf jdk-17_linux-x64_bin.tar.gzsudo mv jdk-17.0.8 /usr/local/java
使用123456789101112# 转成 jpegimport osos.environ["JAVA_HOME"] = "/usr/l ...
docker 安装代码托管平台 gitlab
代码托管网站有 github、gitee 等,但是 github 访问不是很通畅,gitee 总是审查严格。有些代码团队开发共享而暂时不方便公开时,使用自己搭建的代码托管平台会更合适些。本篇介绍如何利用 dokcer 搭建私人代码托管平台 gitlab。
安装假设 docker 和 docker-compose 已经按照完成。如果没有安装,可以参考我的另一篇博客:docker 简单介绍.
下面跟着命令进行安装:
12345678910111213141516171819202122232425262728293031323334# 创建工作目录cd /disk0/proj-pfmkdir gitlab# hostname 改为自己的; external_url 改为自己的,8901 与 ports 里的端口映射对应上,不然后面通过 http 克隆代码库时会找不到链接。# ssh 端口根据自己修改更改# 把数据、配置文件和日志等保存到宿主机,方便后面更新镜像库cat > /disk0/proj-pf/docker-compose.yml <<-"EOF& ...