Maison > Périphériques technologiques > IA > Un stupide robot chien a été entraîné sur la base de GPT2

Un stupide robot chien a été entraîné sur la base de GPT2

WBOY
Libérer: 2023-04-10 18:11:03
avant
1341 Les gens l'ont consulté

Tout d'abord, je tiens à vous dire que dans le domaine du développement de la programmation, ce que vous devez apprendre, c'est la manière d'apprendre. Si vous allez dans la bonne direction, vous pouvez obtenir le double du résultat avec la moitié de l’effort. Et je pense que le moyen le plus rapide et le plus efficace d’acquérir des compétences techniques est de s’entraîner. Ne vous lancez pas dans trop de théories au préalable. Vous ne pouvez pas simplement démonter le vélo que vous avez acheté. Vous devez d’abord trouver un moyen de le conduire.

C'est donc à ça que ressemble le petit Fu : apprendre des choses. Poussé par l'objectif, créez la plus petite version unitaire capable d'exécuter des tests. Parce que la loi de Conway dit : plus le problème est petit, plus il est facile à comprendre et à gérer. Ainsi, après être entré en contact avec ChatGPT, j'ai souvent réfléchi à la manière de former et de déployer moi-même un tel modèle de dialogue de chat, même avec une petite quantité de données de formation à tester. Alors voici ce chien robot idiot qui peut troller les gens !

1. Silly Dog Machine Chat

Basé sur l'article précédent "Construire un modèle d'algorithme ChatGPT" de Brother Fu, nous avons déployé cette réunion avec le GPT-2 open source d'OpenAI et le code de formation du modèle de chat GPT2 associé Un chien idiot ​. un robot qui trolle les gens. Cependant, en raison de problèmes avec les données d'entraînement, ce chatbot semble toujours anormal lorsqu'il lui parle. ——Mais cela n'affecte pas notre apprentissage de la formation de modèles d'algorithmes.

Un stupide robot chien a été entraîné sur la base de GPT2

Cette page est la version WEB de la fenêtre de dialogue de chat programmée par Brother Fu

  • Adresse d'accès : http://120.48.169.252/ - La configuration du serveur est limitée et ne peut pas gérer des accès simultanés excessifs.
  • Démonstration vidéo : https://www.bilibili.com/video/BV1LG4y1P7bo - Vous pouvez également regarder la démonstration de déploiement du modèle GPT2 via la vidéo Bilibili.

2. Environnement de configuration de base

La formation du modèle OpenAI GPT2 et l'utilisation du service nécessitent l'utilisation de Python, de l'apprentissage automatique TensorFlow et d'autres configurations associées, et il existe certaines dépendances de version entre ces environnements. Donc pour un débogage fluide, gardez autant que possible la même version que moi. Si vous rencontrez des difficultés pour installer l'environnement, vous pouvez également demander à Brother Fu de vous aider à acheter un serveur cloud. Ensuite, je refléterai mon environnement sur votre serveur et vous pourrez l'utiliser directement. Vous trouverez ci-dessous l'environnement de base, le code et les données requis.

  • Configuration du système : Centos 7.9 - 2 cœurs 4 Go de mémoire, disque 200 Go, serveur cloud de bande passante 4 Mbps
  • Environnement de déploiement : Python3.7, Transformers==4.2.0, pytorch==1.7.0
  • Code modèle : https:/ /github.com/fuzhengwei/GPT2-chitchat - Ce code est open source, y compris la page de communication websocket
  • Données du modèle : https://pan.baidu.com/s/1iEu_-Avy-JTRsO4aJNiRiA - ju6m

1. Environnement Dépend de

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

yum install gcc -y

yum -y install libffi-devel

make

make altinstall
Copier après la connexion

2. Python 3.7

cd ~

# 1.下载Python安装包
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz

# 2.将安装包移动到/usr/local文件夹下
mv Python-3.7.4.tgz /usr/local/

# 3.在local目录下创建Python3目录
mkdir /usr/local/python3

# 4.进入的Python安装包压缩包所在的目录
cd /usr/local/

# 5.解压安装包
tar -xvf Python-3.7.4.tgz

# 6.进入解压后的目录
cd /usr/local/Python-3.7.4/

# 7.配置安装目录
./configure --prefix=/usr/local/python3

# 8.编译源码
make

# 9.执行源码安装
make install

# 10.创建软连接
ln -s /usr/local/python3/bin/python3/usr/bin/python3

# 11. 测试
python3 -V
Copier après la connexion

3. Installez pip3

cd ~

# 1.下载
wget https://bootstrap.pypa.io/get-pip.py

# 2.安装;注意咱们安装了 python3 所以是 pyhton3 get-pip.py
python3 get-pip.py

# 3.查找pip安装路径
find / -name pip

# 4.将pip添加到系统命令
ln -s/usr/local/python/bin/pip /usr/bin/pip

# 5.测试
pip -V

# 6.更换源,如果不更换那么使用 pip 下载软件会很慢
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set install.trusted-host mirrors.aliyun.com
pip config list

# pip国内镜像源:

# 阿里云 http://mirrors.aliyun.com/pypi/simple/
# 中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/
# 豆瓣 http://pypi.douban.com/simple
# Python官方 https://pypi.python.org/simple/
# v2ex http://pypi.v2ex.com/simple/
# 中国科学院http://pypi.mirrors.opencas.cn/simple/
# 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
Copier après la connexion

4 Installez git

cd ~

# 1.安装前首先得安装依赖环境
yum install -y perl-devel

# 2.下载源码包到 CentOS 服务器后进行解压
tar -zxf git-2.9.5.tar.gz

cd git-2.9.5

# 3.执行如下命令进行编译安装 

./configure --prefix=/usr/local/git

make && make install

# 4.添加到系统环境变量
vim ~/.bashrc

export PATH="/usr/local/git/bin:$PATH"

# 5.使配置生效
source ~/.bashrc

# 6.测试
git version
Copier après la connexion

5. Installez pagoda

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh 12f2c1d72
Copier après la connexion
  1. Après l'installation, connectez-vous à l'adresse d'invite de la pagode. utilisera le port 8888, votre accès au port 8888 doit donc être activé sur le serveur.
  2. L'installation de Pagoda consiste à déployer une version web de l'interface de chat côté serveur, en utilisant le service Nginx. Il est plus facile d'opérer avec une pagode ici.

3. Environnement d'exécution du modèle

La formation du modèle nécessite le service d'apprentissage automatique des transformateurs, ainsi que pytorch, sklearn et d'autres composants ; le contenu suivant doit être installé séparément

transformers==4.4.2
pytorch==1.7.0
sklearn
tqdm
numpy
scipy==1.2.1
Copier après la connexion

1.

pip install transformers==4.4.2
Copier après la connexion

this La version torch + cpu et torchvision doivent correspondre.
  • 3. Pour les autres installations

, suivez simplement les instructions d'installation de pip. De plus, lors de l'exécution de GTP2-chitchat, si vous êtes invité à indiquer que certains composants sont manquants, utilisez simplement pip pour les suivre.

4. Configuration de la page de discussion

Ici, prenez d'abord le code de la page websocket que Brother Fu a préparé pour vous, puis déployez-le après avoir créé le site via Pagoda. Code : https://github.com/fuzhengwei/GPT2-chitchat/tree/master/web

Un stupide robot chien a été entraîné sur la base de GPT2

Créez ensuite un site et téléchargez le code Web en ouvrant votre adresse pagode.

Un stupide robot chien a été entraîné sur la base de GPT2

Remarque : La configuration actuelle de l'accès à websocket dans ce code est dans index.js, vous devez la remplacer par l'adresse de votre serveur.

pip install torch==1.7.0+cpu torchvision==0.8.1+cpu torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
Copier après la connexion

5. Formation et déploiement du modèle

1. Téléchargez le code

if(!window.WebSocket){
 alert("您的浏览器不支持WebSocket协议!推荐使用谷歌浏览器进行测试。");
 return;
}
socket = new WebSocket("ws://120.48.169.252:7397");
Copier après la connexion

Vous devez modifier le code d'interact.py et changer la configuration IP et du port de Websocket

cd /home

git clone https://github.com/fuzhengwei/GPT2-chitchat.git
Copier après la connexion

2. modèle : https://pan.baidu.com/s/1iEu_-Avy-JTRsO4aJNiRiA#list/path=%2F - Mot de passe : ju6m

Télécharger le modèle : Ici, vous devez installer un outil SFTP sur votre machine locale ou utiliser les outils fournis par IntelliJ IDEA Link. Après la liaison, vous pouvez télécharger le modèle décompressé dans /home/GPT2-chitchat/model.

async def start_server():
try:
async with websockets.serve(server, "192.168.0.4", 7397):
print("Starting server at ws://localhost:7397")
await asyncio.Future()# run forever
except OSError as e:
print(f"Error starting server: {e}")
except Exception as e:
print(f"Unexpected error: {e}")
Copier après la connexion

修改这部分代码的IP和端口,以及在云服务上开启 7397 的访问权限。另外为了安全起见,可以在云服务的防火墙IP来源中授权,只有你当前的台机器才可以链接到 websocket 上。

3. 启动服务

这里小傅哥通过 mac nuoshell 连接工具,进行模型启动;模型路径:/home/GPT2-chitchat/model/model_epoch40_50w

python3 interact.py --no_cuda --model_path /home/GPT2-chitchat/model/model_epoch40_50w
Copier après la connexion

Un stupide robot chien a été entraîné sur la base de GPT2

  • 启动后就可以把你的 websocket 页面打开了,它会自动的链接到这个 websocket 服务上。
  • 如果你还需要 Socket 或者命令行的服务,也可以修改 interact.py 代码进行处理。

以上就是整个 GPT2-chitchat 一个闲聊模型的部署,你也可以尝试使用 Docker 部署。如果在部署过程中实在很难部署成功,也可以找小傅哥买云服务,这样我可以直接把镜像部署到你的云服务上,就可以直接使用了。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal