Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Ein alberner Hunderoboter wurde auf Basis von GPT2 trainiert

Ein alberner Hunderoboter wurde auf Basis von GPT2 trainiert

WBOY
WBOYnach vorne
2023-04-10 18:11:031271Durchsuche

Zunächst möchte ich Ihnen sagen, dass Sie im Bereich der Programmierentwicklung lernen müssen, wie man lernt. Wenn Sie in die richtige Richtung gehen, können Sie mit halbem Aufwand das Doppelte des Ergebnisses erzielen. Und ich denke, der schnellste und effektivste Weg, technische Fähigkeiten zu erlernen, ist das Üben. Lassen Sie sich nicht erst auf viele Theorien ein. Man kann das gekaufte Fahrrad nicht einfach zerlegen. Man muss erst einmal einen Weg finden, es zu fahren.

So ist der kleine Fu also: Er lernt Dinge. Basierend auf dem Ziel, die kleinste Einheitsversion zu erstellen, mit der Tests ausgeführt werden können. Denn Conways Gesetz besagt: Je kleiner das Problem, desto einfacher ist es zu verstehen und zu bewältigen. Nachdem ich mit ChatGPT in Kontakt gekommen bin, habe ich oft darüber nachgedacht, wie ich ein solches Chat-Dialogmodell selbst trainieren und einsetzen kann, selbst mit einer kleinen Menge an Trainingsdaten, die ich testen kann. Hier kommt also dieser alberne Hunderoboter, der Menschen trollen kann!

1. Silly Dog Machine Chat

Basierend auf dem vorherigen Artikel „Build a ChatGPT Algorithm Model“ von Brother Fu haben wir dieses Treffen mit OpenAIs Open-Source-GPT-2 und dem zugehörigen GPT2-Chitchat-Modell-Trainingscode implementiert Roboter, der Menschen trollt. Aufgrund von Problemen mit den Trainingsdaten fühlt sich dieser Chatbot jedoch immer unnormal an, wenn er mit ihm spricht. ——Aber es hat keinen Einfluss auf unser Lernen des Algorithmusmodelltrainings.

Ein alberner Hunderoboter wurde auf Basis von GPT2 trainiert

Diese Seite ist die WEB-Version des von Bruder Fu programmierten Chat-Dialogfensters

  • Zugriffsadresse: http://120.48.169.252/ – Die Serverkonfiguration ist begrenzt und kann übermäßigen gleichzeitigen Zugriff nicht verarbeiten.
  • Videodemonstration: https://www.bilibili.com/video/BV1LG4y1P7bo – Sie können die Demonstration der GPT2-Modellbereitstellung auch über das Bilibili-Video ansehen.

2. Grundlegende Konfigurationsumgebung

Das Training und die Nutzung des OpenAI GPT2-Modells erfordern die Verwendung von Python, TensorFlow-Maschinenlernen und anderen verwandten Konfigurationen, und es gibt einige Versionsabhängigkeiten zwischen diesen Umgebungen. Versuchen Sie daher, für ein reibungsloses Debuggen die gleiche Version wie ich beizubehalten. Wenn Sie Schwierigkeiten bei der Installation der Umgebung haben, können Sie Brother Fu auch bitten, Ihnen beim Kauf eines Cloud-Servers zu helfen. Dann spiegele ich meine Umgebung auf Ihrem Server und Sie können sie direkt verwenden. Nachfolgend finden Sie die grundlegende Umgebung, den Code und die erforderlichen Daten.

  • Systemkonfiguration: Centos 7.9 – 2-Kern 4 GB Speicher 200 G Festplatte 4 Mbit/s Bandbreite Cloud-Server
  • Bereitstellungsumgebung: Python3.7, Transformers==4.2.0, pytorch==1.7.0
  • Modellcode: https:/ /github.com/fuzhengwei/GPT2-chitchat – Dieser Code ist Open Source, einschließlich WebSocket-Kommunikationsseite
  • Modelldaten: https://pan.baidu.com/s/1iEu_-Avy-JTRsO4aJNiRiA – ju6m

1. Umgebung Hängt von „
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
“ ab verwendet Port 8888, daher muss der Zugriff auf Port 8888 auf dem Server aktiviert sein.

Die Installation von Pagoda besteht darin, mithilfe des Nginx-Dienstes eine Webversion der Chat-Schnittstelle auf der Serverseite bereitzustellen. Hier ist es einfacher, mit einer Pagode zu arbeiten.

3. Für die Modellausführungsumgebung müssen der Transformers-Machine-Learning-Dienst sowie die folgenden Komponenten separat installiert werden:

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

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/

2

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
  1. this Die Torch-Version + CPU und Torchvision müssen übereinstimmen.
  2. 3. Andere Installationen

Befolgen Sie einfach die Pip-Installationsanweisungen. Wenn Sie außerdem aufgefordert werden, dass einige Komponenten fehlen, befolgen Sie diese einfach mit Pip.

4. Konfiguration der Chat-Seite

Fügen Sie hier zuerst den von Brother Fu für Sie vorbereiteten WebSocket-Seitencode ein und stellen Sie ihn dann bereit, nachdem Sie die Site über Pagoda erstellt haben. Code: https://github.com/fuzhengwei/GPT2-chitchat/tree/master/web

Erstellen Sie dann eine Website und laden Sie den Webcode hoch, indem Sie Ihre Pagodenadresse öffnen.

Hinweis: Die aktuelle Konfiguration für den Zugriff auf den WebSocket in diesem Code befindet sich in index.js. Sie müssen sie in Ihre Serveradresse ändern.

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh 12f2c1d72

5. Modellschulung und -bereitstellung

Ein alberner Hunderoboter wurde auf Basis von GPT2 trainiert1. Laden Sie den Code herunter das Modell: https://pan.baidu.com/s/1iEu_-Avy-JTRsO4aJNiRiA#list/path=%2F - Passwort: ju6m

Modell hochladen: Hier müssen Sie ein SFTP-Tool auf Ihrem lokalen Computer installieren, oder Verwenden Sie die von IntelliJ IDEA Link bereitgestellten Tools. Nach der Verknüpfung können Sie das dekomprimierte Modell nach /home/GPT2-chitchat/model hochladen.

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}")

修改这部分代码的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

Ein alberner Hunderoboter wurde auf Basis von GPT2 trainiert

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

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

Das obige ist der detaillierte Inhalt vonEin alberner Hunderoboter wurde auf Basis von GPT2 trainiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen