>  기사  >  기술 주변기기  >  멍청한 개 로봇이 GPT2를 기반으로 훈련됐다

멍청한 개 로봇이 GPT2를 기반으로 훈련됐다

WBOY
WBOY앞으로
2023-04-10 18:11:031272검색

먼저 프로그래밍 개발 분야에서 배워야 할 것은 배우는 방법이라는 점을 말씀드리고 싶습니다. 올바른 방향으로 나아가면 절반의 노력으로 두 배의 결과를 얻을 수 있습니다. 그리고 기술을 익히는 가장 빠르고 효과적인 방법은 연습이라고 생각합니다. 먼저 너무 많은 이론에 빠져들지 마세요. 구입한 자전거를 그냥 분해할 수는 없습니다. 먼저 타는 방법을 찾아야 합니다.

Little Fu는 뭔가를 배우는 것과 같은 것입니다. 목표에 따라 테스트를 실행할 수 있는 가장 작은 단위 버전을 구축하세요. 콘웨이의 법칙에 따르면 문제가 작을수록 이해하고 처리하기가 더 쉽습니다. 그래서 ChatGPT를 접한 후 테스트할 소량의 훈련 데이터로도 이러한 채팅 대화 모델을 스스로 훈련하고 배포하는 방법에 대해 자주 생각했습니다. 그래서 사람들을 트롤링할 수 있는 이 어리석은 개 로봇이 등장했습니다!

1. Silly Dog Machine Chat

Brother Fu의 이전 기사 "Build a ChatGPT 알고리즘 모델"을 기반으로 이 회의를 OpenAI의 오픈 소스 GPT-2 및 관련 GPT2-chitchat 모델 훈련 코드로 배포했습니다. 사람을 트롤하는 로봇. 하지만 훈련 데이터의 문제로 인해 이 챗봇은 대화할 때 항상 이상한 느낌을 받습니다. ——그러나 알고리즘 모델 학습 학습에는 영향을 미치지 않습니다.

멍청한 개 로봇이 GPT2를 기반으로 훈련됐다

이 페이지는 Fu님이 프로그래밍한 채팅 대화창의 웹 버전입니다

  • 액세스 주소: http://120.48.169.252/ - 서버 구성이 제한되어 과도한 동시 액세스를 처리할 수 없습니다.
  • 영상 시연: https://www.bilibili.com/video/BV1LG4y1P7bo - Bilibili 영상을 통해서도 GPT2 모델 배포 시연을 시청하실 수 있습니다.

2. 기본 구성 환경

OpenAI GPT2 모델 교육 및 서비스 사용에는 Python, TensorFlow 기계 학습 및 기타 관련 구성을 사용해야 하며 이러한 환경 간에는 일부 버전 종속성이 있습니다. 따라서 원활한 디버깅을 위해 최대한 나와 동일한 버전을 유지해 주시기 바랍니다. 환경을 설치하는 데 어려움이 있으면 Fu 형제에게 클라우드 서버 구매에 도움을 요청할 수도 있습니다. 그러면 내 환경을 귀하의 서버에 미러링하여 직접 사용할 수 있습니다. 아래는 필요한 기본 환경과 코드, 데이터입니다.

  • 시스템 구성: Centos 7.9 - 2코어 4GB 메모리 200G 디스크 4Mbps 대역폭 클라우드 서버
  • 배포 환경: Python3.7, Transformers==4.2.0, pytorch==1.7.0
  • 모델 코드: https:/ /github.com/fuzhengwei/GPT2-chitchat - 이 코드는 웹소켓 통신 페이지를 포함한 오픈 소스입니다
  • 모델 데이터: https://pan.baidu.com/s/1iEu_-Avy-JTRsO4aJNiRiA - ju6m

1. 환경은

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

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

3에 따라 다릅니다. 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/

4를 설치합니다. pagoda

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

설치 후 기본적으로 pagoda 프롬프트 주소에 로그인합니다. 에서는 포트 8888을 사용하므로 서버에서 포트 8888에 대한 액세스를 활성화해야 합니다.
  1. Pagoda 설치는 Nginx 서비스를 사용하여 서버 측에 웹 버전의 채팅 인터페이스를 배포하는 것입니다. 여기서 탑을 사용하면 작업하기가 더 쉽습니다.
  2. 3. 모델 실행 환경

모델 교육에는 pytorch, sklearn 및 기타 구성 요소가 별도로 설치되어야 합니다.

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

2.

transformers==4.4.2
pytorch==1.7.0
sklearn
tqdm
numpy
scipy==1.2.1

this 토치 버전 + CPU와 토치비전이 일치해야 합니다.

    3. 기타 설치
  • 또한, GTP2-chitchat을 실행할 때 일부 구성 요소가 없다는 메시지가 표시되면 pip를 사용하여 설치하세요.

4. 채팅 페이지 구성

여기서 먼저 푸 형제님이 준비한 웹소켓 페이지 코드를 넣어주시고, 파고다를 통해 사이트를 생성하신 후 배포해 주세요. 코드: https://github.com/fuzhengwei/GPT2-chitchat/tree/master/web

그런 다음 사이트를 만들고 파고다 주소를 열어 웹 코드를 업로드하세요. 멍청한 개 로봇이 GPT2를 기반으로 훈련됐다

참고: 이 코드에서 websocket에 액세스하기 위한 현재 구성은 index.js에 있으며 이를 서버 주소로 변경해야 합니다. 멍청한 개 로봇이 GPT2를 기반으로 훈련됐다

pip install transformers==4.4.2

5. 모델 훈련 및 배포

1. 코드를 다운로드합니다.

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

interact.py 코드를 수정하고 Websocket의 IP 및 포트 구성을 변경해야 합니다.

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

2. 모델: https: //pan.baidu.com/s/1iEu_-Avy-JTRsO4aJNiRiA#list/path=%2F - 비밀번호: ju6m

업로드 모델: 여기에서 로컬 컴퓨터에 SFTP 도구를 설치하거나 다음을 사용해야 합니다. IntelliJ IDEA Link에서 제공하는 도구입니다. 연결 후 압축이 풀린 모델을 /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}")

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

멍청한 개 로봇이 GPT2를 기반으로 훈련됐다

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

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

위 내용은 멍청한 개 로봇이 GPT2를 기반으로 훈련됐다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제