Rumah > Peranti teknologi > AI > teks badan

Robot anjing bodoh telah dilatih berdasarkan GPT2

WBOY
Lepaskan: 2023-04-10 18:11:03
ke hadapan
1320 orang telah melayarinya

Pertama sekali, saya ingin memberitahu anda bahawa dalam bidang pembangunan pengaturcaraan, apa yang anda perlu belajar ialah cara belajar. Jika anda pergi ke arah yang betul, anda boleh mendapat dua kali ganda hasil dengan separuh usaha. Dan saya rasa cara terpantas dan paling berkesan untuk mempelajari kemahiran teknikal adalah dengan berlatih. Jangan masuk terlalu banyak teori dahulu Anda tidak boleh membongkar basikal yang anda beli Anda perlu mencari cara untuk menunggangnya terlebih dahulu.

Jadi inilah yang Fu kecil lakukan, mempelajari sesuatu. Didorong oleh matlamat, bina versi unit terkecil yang boleh menjalankan ujian. Kerana Undang-undang Conway mengatakan; lebih kecil masalah, lebih mudah untuk memahami dan menangani. Oleh itu, selepas berhubung dengan ChatGPT, saya sering berfikir tentang cara melatih dan menggunakan model dialog sembang sedemikian sendiri, walaupun dengan sedikit data latihan untuk saya uji. Jadi di sini datang robot anjing bodoh ini yang boleh menipu orang!

1. Silly Dog Machine Chat

Berdasarkan kajian sebelumnya mengenai "Membina Model Algoritma ChatGPT" Brother Fu, sumber terbuka OpenAI GPT-2 dan GPT2-chitchat yang berkaitan Kod latihan model digunakan robot anjing bodoh ini yang boleh menggoda orang. Namun, disebabkan masalah dengan data latihan, chatbot ini sentiasa berasa tidak normal apabila bercakap dengannya. ——Tetapi ia tidak menjejaskan pembelajaran latihan model algoritma kami.

Robot anjing bodoh telah dilatih berdasarkan GPT2

Halaman ini ialah versi WEB bagi tetingkap dialog sembang yang diprogramkan oleh Brother Fu

  • Alamat akses: http: / /120.48.169.252/ - Konfigurasi pelayan adalah terhad dan tidak boleh mengendalikan akses serentak yang berlebihan.
  • Demonstrasi video: https://www.bilibili.com/video/BV1LG4y1P7bo - Anda juga boleh menonton demonstrasi penggunaan model GPT2 melalui video Bilibili.

2. Persekitaran konfigurasi asas

Latihan model OpenAI GPT2 dan penggunaan perkhidmatan memerlukan penggunaan Python, pembelajaran mesin TensorFlow dan konfigurasi lain yang berkaitan, dan terdapat beberapa kebergantungan versi antara persekitaran ini . Jadi untuk penyahpepijatan yang lancar, cuba kekalkan versi yang sama seperti saya. Jika anda menghadapi kesukaran memasang persekitaran, anda juga boleh meminta Brother Fu untuk membantu anda membeli pelayan awan Kemudian saya akan mencerminkan persekitaran saya ke pelayan anda dan anda boleh menggunakannya secara langsung. Di bawah ialah persekitaran asas, kod dan data yang diperlukan.

  • Konfigurasi sistem: Centos 7.9 - Memori 2-teras 4GB, cakera 200G, pelayan awan lebar jalur 4Mbps
  • Persekitaran penggunaan: Python3.7, Transformers==4.2.0, pytorch= =1.7 .0
  • Kod model: https://github.com/fuzhengwei/GPT2-chitchat - Kod ini sumber terbuka dan mengandungi halaman komunikasi soket web
  • Data model: https:// pan.baidu .com/s/1iEu_-Avy-JTRsO4aJNiRiA - ju6m

1. Kebergantungan persekitaran

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
Salin selepas log masuk

2 3. Pemasangan pip3

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
Salin selepas log masuk

4. Pasang git

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/
Salin selepas log masuk

5. selepas pemasangan. Secara lalai ia akan Gunakan port 8888, jadi anda perlu mendayakan akses port 8888 pada pelayan.

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
Salin selepas log masuk
Pemasangan Pagoda adalah untuk menggunakan antara muka sembang berasaskan web pada pelayan, menggunakan perkhidmatan Nginx. Lebih mudah untuk beroperasi dengan pagoda di sini.

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh 12f2c1d72
Salin selepas log masuk
3. Persekitaran berjalan model
  1. Latihan model memerlukan perkhidmatan pembelajaran mesin transformer, serta pytorch, sklearn dan komponen lain perlu dipasang secara berasingan; >
  2. 1. transformer

2.

3. Pemasangan lain
transformers==4.4.2
pytorch==1.7.0
sklearn
tqdm
numpy
scipy==1.2.1
Salin selepas log masuk

Untuk selebihnya, ikut sahaja arahan pemasangan pip Selain itu, semasa menjalankan GTP2-chitchat, jika anda digesa bahawa beberapa komponen hilang, gunakan pip terus dan ikut arahan Boleh.

pip install transformers==4.4.2
Salin selepas log masuk
4. Konfigurasi halaman sembang

Di sini, mula-mula ambil kod halaman soket web yang telah disediakan oleh Brother Fu untuk anda, dan kemudian gunakannya selepas mencipta tapak melalui Pagoda. Kod: https://github.com/fuzhengwei/GPT2-chitchat/tree/master/web
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
Salin selepas log masuk

Selepas itu, buka alamat pagoda anda, Buat tapak dan muat naik kod web.

Nota: Konfigurasi untuk mengakses websocket dalam kod semasa adalah dalam index.js, dan anda perlu menukarnya kepada alamat pelayan anda.

Robot anjing bodoh telah dilatih berdasarkan GPT2

5 Pelaksanaan latihan model

1 Muat turun kod

Anda perlu mengubah suai kod interact.py dan menukar IP dan port bagi Websocket sini Konfigurasi; Robot anjing bodoh telah dilatih berdasarkan GPT2

2. Muat naik model

Muat turun model: https://pan.baidu.com/s/1iEu_-Avy-JTRsO4aJNiRiA#list/path=%2F - Kata Laluan :ju6m
if(!window.WebSocket){
 alert("您的浏览器不支持WebSocket协议!推荐使用谷歌浏览器进行测试。");
 return;
}
socket = new WebSocket("ws://120.48.169.252:7397");
Salin selepas log masuk

Model muat naik: Di sini anda perlu memasang alat SFTP pada mesin setempat anda atau gunakan alat yang disediakan oleh IntelliJ IDEA untuk memaut. Selepas memaut, anda boleh memuat naik model yang dinyahmampat ke /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}")
Salin selepas log masuk

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

Robot anjing bodoh telah dilatih berdasarkan GPT2

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

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

Atas ialah kandungan terperinci Robot anjing bodoh telah dilatih berdasarkan GPT2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan