[关闭]
@dooy 2023-03-22T13:48:37.000000Z 字数 3273 阅读 110

批改网引擎维护

批改网


简单流程

分2大部分GEC+引擎java包
简单的流程 就是有GEC 、引擎、队列构成

引擎自己有用到: mysql 批改网公式 队列
GEC用到:队列 redis

Created with Raphaël 2.1.2流程图MQ1MQ1引擎引擎MQ2MQ2GECGECMQ3MQ3MQ4MQ4获取分摊分摊输出回吐整理输出DSK

MQ1: dsk_rpc_api
MQ2: dsk_rpc_v2_gec
MQ3: pase-serverName-pserverPort
MQ4:用户指定的mq_name

GEC 部署

1.1 命令行部署

  1. runmq-id-queue.sh $GPUID $mq $id

runmq-id-queue.sh 是python 写的

  1. #!/bin/bash
  2. # conda activate gec | lanxum
  3. # sh runmq-id-queue.sh 1 dsk_rpc_v2_gec 201
  4. CUDA_VISIBLE_DEVICES=$1 python ParseMQ.py ./ --path clean.pt --redis_addr 127.0.0.1 --redis_port 6388 --beam 5 --bpe subword_nmt --bpe-codes ./code --buffer-size 10 --batch-size 10 --source-lang er --target-lang co --remove-bpe --num-workers 20 --tokenizer space --nbest 5 --mq_host *** --mq_user *** --mq_password *** --mq_queue $2 --id $3

mq: GEC 队列 nn_analysis 或者 dsk_rpc_v3_gec
$id: 只要保持唯一就好了

1.2 docker 部署

sh xgec55-v2.sh 3 203

xgec55-v2.sh 文件 消费 dsk_rpc_v2_gec 队列

  1. if [ $# -lt 2 ]; then
  2. echo "pls input 2 args, cuda, id, ie: sh xgec55-v2.sh 3 203"
  3. exit
  4. fi
  5. docker run -d --restart=always --name=$2 -e CUDA_VISIBLE_DEVICES=$1 --log-opt max-size=200m --gpus=all wrask/fairseq python ParseMQ.py ./ --path clean.pt --redis_addr 172.17.0.1 --redis_port 6388 --beam 5 --bpe subword_nmt --bpe-codes ./code --buffer-size 10 --batch-size 10 --source-lang er --target-lang co --remove-bpe --num-workers 20 --tokenizer space --nbest 5 --mq_host **** --mq_user **** --mq_password **** --mq_queue dsk_rpc_v2_gec --id $2

1.3 目前GPU 现状

55上有8个GPU
120 有
还有 立思程 机器上有 如何登录看 立思程readme.txt

批改网引擎

需要保证 serverName-serverPort 唯一不然又出错

2.1 命令行部署

消费dsk_rpc_api

  1. java -Xmx6144m -jar pigai_engine2.jar --database-no-encrypt --server-addr 本机IP --server-port 端口 --mysql-database pigai_spss --mysql-password *** --mysql-server=127.0.0.1:3307 -mysql-user cikuu --mq-input-server=cpu79.wrask.com --mq-input-queue=dsk_rpc_api --thread-num 3 --mq-output-routing-key-parse dsk_rpc_v2_gec --mq-output-server=cpu79.wrask.com --mq-input-user=pigai --mq-input-password=*** --mq-output-user=pigai --mq-output-password=***

说明:

回吐队列相关 起来消费后能在队列中

--server-addr: 本机IP
--server-port: 端口

mysql 相关

--mysql-database pigai_spss
--mysql-password *
--mysql-server=127.0.0.1:3307
-mysql-user cikuu

队列 消费dsk_rpc_api

--mq-input-server=cpu79.wrask.com
--mq-input-queue=dsk_rpc_api
--mq-input-user=pigai
--mq-input-password=*
--mq-output-routing-key-parse dsk_rpc_v2_gec
--mq-output-server=cpu79.wrask.com
--mq-output-user=pigai
--mq-output-password=*

线程

--thread-num 3

重要.其他配置

其他重要配置都在 config/config.properties
比如有打分公式 与批改网交互

2.1 docket 部署

  1. docker run -d --restart=always --name dskv2 -v /data/dct:/dct wrask/engine java -Xmx6144m -jar pigai_engine2.jar --database-no-encrypt --server-addr $HOSTNAME --server-port 7221 --mysql-database pigai_spss --mysql-password 1111 --mysql-server mq.wrask.com:3306 --mysql-user root --mq-input-server=mq.wrask.com --mq-input-queue=dsk_rpc_api --thread-num 2 --mq-output-routing-key-parse dsk_rpc_v2_gec --mq-output-server=mq.wrask.com --mq-input-user=pigai --mq-input-password=1111 --mq-output-user=pigai --mq-output-password=1111

说明:

  • 1.docker 名称 :--name dskv2
  • 2.绑定的消费队列:--mq-input-queue=dsk_rpc_api
  • 3.gec 消费队列: --mq-output-routing-key-parse dsk_rpc_v2_gec
  • 4.gec 消费完回吐队列:--server-addr $HOSTNAME --server-port 7102 组成的 parse-serverName-serverPost-pool-5-thread-2
  • 5.字典:/dct
  • 6.mysql: 本地的IP 能访问pu76 的 3306 服务(在其ufw白名单上) pigai_spss.jukuu.com
  • 7.队列:本机能访问 mq.wrask.com
  • 8.线程数 --thread-num

部署情况

dpc_v2_api 这个消费程序在55上docker 起了 2个线程;在 . 200.95 是用 super*** 线程维护

其他辅助

  1. pigai_spss 数据库
  2. 批改网公式提供
  3. dtc 字典;比较大35G 主要靠这个字典
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注