이 리포지토리에는 대규모 사전 상환 대화 응답 생성 모델에 대한 소스 코드 및 훈련 된 모델이 포함되어 있습니다. 인간 평가 결과는 대화 상자에서 생성 된 반응이 단일 회전 대화 튜링 테스트에서 인간 반응 품질과 비슷하다는 것을 나타냅니다.
이 저장소는 데이터 추출 스크립트, 모델 교육 코드 및 사전 미세 (117m) 매체 (345m) 및 대형 (762m) 모델 체크 포인트를 포함하는 Huggingface Pytorch-Transformer 및 OpenAI GPT-2를 기반으로합니다.
이 모델은 Reddit 토론 스레드의 147m 다중 회전 대화에서 교육을 받았습니다. 가장 큰 모델은 분산 교육 및 FP16 옵션을 사용하여 8 V100 기계에서 몇 시간 안에 교육을받을 수 있습니다.
포함 스크립트는 DSTC-7 Grounded Dialogue Generation Challenge의 결과와 Reddit 데이터에서 생성 된 6K 다중 참조 데이터 세트의 결과를 재현하는 데 사용될 수 있습니다.
프로젝트 웹 페이지 : https://www.microsoft.com/en-us/research/project/large-scale-pretraining-for-response-generation/
ARXIV 용지 : https://arxiv.org/abs/1911.00536
(업데이트 07/09/2022) files.pushshift.io/reddit 서버의 변경으로 인해 데이터 생성 파이프 라인이 중단되었습니다. 이러한 문제는 이제 해결되었으며 아래 데이터 준비 하위 섹션에서 설명 된 단계가 다시 작동합니다. 데이터는 8 개의 프로세스 ( -j 8 )로 약 10 시간 내에 생성되며 800GB의 임시 디스크 공간이 필요합니다.
(업데이트 06/23/2021) 우리는 Clialogpt (Retgen)의 검색/접지 버전을 발표했습니다. Retgen Repo 및 Retgen Paper를 확인하십시오.
(업데이트 05/20/2021) Prakhar Mishra의 대화를위한 YouTube에서 멋진 비디오 연습
(업데이트 03/31/2021) Gradio Web Demo를 사용한 AK391의 제 3 자 데모를 시도해보십시오.
(업데이트 09/15/2020) 대규모 대규모 대화 순위 모델 세트가 출시되었습니다!
Dialogpt Generation은 최신 대화 순위 모델 인 DialOgrp와 통합하여 개선됩니다.
(업데이트 07/08/2020) 6K 멀티 리프 테스트 세트가 출시되었습니다!
데이터를 생성하려면 Pleaser Run demo.py 실행하고 데이터 옵션을 'Full'으로 설정하면 생성 된 6K Multi-Ref 테스트 세트가
./data/test.refs.txt
(03/10/2020 업데이트) Huggingface Transformers에서 모델 카드를 사용할 수 있습니다!
Huggingface Transformers 저장소의 모델 카드를 확인하십시오. 여러 줄의 코드를 사용하면 대화식으로 대화식으로 연주하는 것이 꽤나도 있어야합니다.
작은 모델 : https://huggingface.co/microsoft/dialogpt-small
중간 모델 : https://huggingface.co/microsoft/dialogpt-medium
큰 모델 : https://huggingface.co/microsoft/dialogpt-large
(신규) 순위 모델 : https://huggingface.co/microsoft/dialogrpt-updown
(2020 년 1 월 6 일 업데이트) 일부 타사 디코딩 스크립트 구현 :
Dialogpt는 전적으로 Ubuntu 16.04 에서 개발되었으며, 가용성에 따라 동일한 구성에서 코드를 실행하는 데 어려움이있는 경우 지원을 제공하려고합니다. 그러나 우리는 다른 분배 또는 운영 체제를 지원할 수 없습니다 . 코드의 일부는 다른 UNIX 풍미 (MACOS, Linux 용 Windows 서브 시스템, Cygwin 등)에서 실행될 수 있지만 기본 교육 코드에는 Ubuntu를 사용하는 것이 좋습니다.
교육 코드는 CPU에서 실행할 수 있지만 느리게 할 수 있습니다. GPU를 사용하여 모든 모델을 훈련시키고 정합하는 것이 좋습니다. GPU 수의 최소 제한은 없습니다. 그러나 여러 GPUS 구성에 분산 열차를 사용하는 경우 속도 업 대 GPU 수는 대략적으로 초선입니다. 덜 GPU를 사용할 때 동일한 배치 크기를 시뮬레이션하려면 모델 교육에서 더 큰 gradient_accumulation_steps 사용하십시오.
117m 및 345m 모델은 12g 메모리가있는 단일 GPU로로드 될 수 있습니다. 762m 모델에는 효율적인 훈련을 위해 16g 이상의 메모리를 갖는 단일 GPU가 필요합니다. 50m 교육 인스턴스와 V100 GPU가있는 벤치 마크 데이터의 교육 속도 :
| n_gpu | 에포크 시간 (H) | 토큰/초 |
|---|---|---|
| 1 | 118 | 10847 |
| 2 | 62 | 20645 |
| 4 | 34 | 37647 |
| 8 | 18 | 71356 |
새로운 데이터 세트에서 사전에 사전 된 모델에서 미세 조정하려면 일반적으로 1-2 에포크가 필요합니다.
이 시스템 배치의 어려움을 완화하기 위해 데모 스크립트 demo.py 만들었습니다. demo.py 에는 하나의 명령 라인 내에서 더미 데이터 세트에 대한 모델 다운로드 , 데이터 추출, 데이터 전처리 및 모델 교육의 파이프 라인이 포함되어 있습니다.
아래 명령 라인을 사용하여 클론, 요구 사항을 설치하고 Conda 환경을로드하십시오 (NVIDIA CUDA 10.0 개발자 툴킷이 필요합니다).
sudo apt-get install -y make wget gzip bzip2 xz-utils zstd sedgit clone https://github.com/microsoft/DialoGPT.git
cd DialoGPT
conda env create -f LSP-linux.yml -n LSP
conda activate LSP Linux 이외의 아키텍처에서 이것을 실행하는 경우 LSP-generic.yml 대신 LSP-linux.yml generic.yml을 사용하지만 일반적인 것은 모든 플랫폼에서 테스트되지 않았으므로 안정성을 가로 든 할 수는 없습니다. FP16 교육을 사용하려면 아래 명령을 사용하여 Apex를 설치하십시오.
conda activate LSP
git clone https://github.com/NVIDIA/apex
cd apex
git reset --hard 3d01e4a0a188cc8df54bc6e44cf5eb40ff6b4cc5
pip install -v --no-cache-dir --global-option= " --cpp_ext " --global-option= " --cuda_ext " .
python3.6 demo.py먼저 공식 저장소에서 Docker와 Nvidia-Docker를 설치하십시오. 코드를 실행하기위한 이미지 환경은 다음과 같이로드 할 수 있습니다.
Nvidia-Docker v2. *
$ docker run --gpus all --ipc=host --rm -it -v $PWD :/workspace --network=host icaruszyz/large-scale-training:dialogpt bashNvidia-Docker v1. *
$ nvidia-docker --rm -it -v $PWD :/workspace --network=host icaruszyz/large-scale-training:dialogpt bashDocker 컨테이너 내부에서 실행하십시오
python demo.py 이 섹션에서는 demo.py 의 모든 구성 요소를 설명합니다.
demo.py 실행하기 전에 demo.py 에서 data_folder (기본값 ./models )를 모든 데이터를 다운로드하고 사전 처리/미세 조정 된 모델로 설정할 수 있습니다. 그런 다음 단순히 실행됩니다
python demo.py에게
기본적으로 demo.py 더미 데이터를 사용합니다. 옵션 --data 사용하여 Reddit 교육 데이터를 지정하십시오. dummy , small full 세 가지 옵션이 있습니다.
python demo.py --data small
python demo.py --data full작은 Reddit 데이터는 약 140MB이며 전체 Reddit 데이터는 27GB 이상입니다. 오랜 시간이 걸리기 때문에 전체 Reddit 데이터로 처리 할 때 커피 한 잔을 준비 할 수 있습니다!
6K Multi-REF 테스트 세트 데이터를 생성하고 Pleaser Run demo.py 및 데이터 옵션을 'Full'으로 설정하면 Generation이
./data/test.refs.txt
사전에 미세 조정 된 모델은 Azure Blobstorage에서 사용할 수 있습니다. 해당 모델을 다운로드/사용하는 방법에 대한 자세한 내용은 demo.py 실행/참조하십시오. 또는 demo_utils.py 에서 링크를 사용하여 직접 다운로드 할 수 있습니다.
먼저 prepare4db.sh 사용하여 다음 스크립트가 인식 할 수있는 올바른 형식으로 TSV 데이터 파일을 변환하십시오. 그런 다음 Trainig 데이터를 아래 명령 선이있는 데이터베이스 파일로 처리해야합니다.
python prepro.py --corpus $DATA_PATH 교육 스크립트는 단일 GPU 또는 다중 GPU 설정 (단일 노드 내의 여러 GPU에 걸친 분산 교육)에서 사용할 수 있습니다.
python ./LSP_train.py # Single GPU training
python -m torch.distributed.launch --nproc_per_node=8 ./LSP_train.py # Training on 8 GPUs교육 스크립트는 훈련을 조정하기위한 몇 가지 주장을 수락합니다.
| 논쟁 | 유형 | 기본값 | 설명 |
|---|---|---|---|
| max_seq_length | int | 128 | 각 훈련 인스턴스에 대한 최대 토큰 수. |
| Train_Input_File | str | "" | .db 형식의 교육 데이터 세트의 경로 |
| Eval_Input_File | str | "" | TSV 형식으로 설정된 유효성 검사 경로 |
| 계속 _from | int | 0 | 지정된 수의 단계 후에 교육을 재개합니다 |
| FP16 | boolean | True | 모델 교육에 16 비트 플로팅 포인트를 사용할지 여부. |
| Train_batch_size | int | 4 | 훈련을위한 배치 크기 |
| VALID_BATCH_SIZE | int | 4 | 유효성 검사를위한 배치 크기 |
| gradient_accumulation_steps | int | 2 | 여러 단계에서 그라디언트를 축적합니다 |
| Learning_rate | float | 1e-5 | 학습 속도 |
| lr_schedule | str | noam | 학습 속도 일정은 [ noam , noamwd , BERT , None ]에서 선택할 수 있습니다. |
| NUM_OPTIM_STEPS | int | 1000000 | 교육 최적화 단계 수 |
| no_token_id | boolean | True | True를 설정하면 All-zeros 토큰 유형 임베딩을 사용합니다. |
교육 중에 두 개의 로그 파일이 업데이트됩니다. train_log.txt 및 eval_log.txt 에는 교육 및 개발 세트에 대한 모델 손실, 당황 및 교육 속도 (Tokens/Sec) 통계가 포함되어 있습니다.
로그 파일 및 저장된 모델 체크 포인트는 ./models/output_model 에서 찾을 수 있습니다.
적절하게 필터링 된 Reddit 데이터 세트를 사용하더라도 때로는 모델이 여전히 유독하고 부적절한 응답을 생성 할 수 있습니다. 이러한 이유로 인해 현재 디코딩 스크립트를 제공 할 수 없습니다 (실시간 데모 및 디코딩 스크립트 액세스는 지금 만 초대 할 것입니다). 우리는 현재이 시스템이 독성 생성을 막기 위해 제어 된 디코딩 방법을 연구하고 있습니다. 계속 지켜봐주세요.
타사 디코딩 방법에 대한 일부 토론은 문제 #3 및 Reddit 토론을 참조하십시오.
일부 타사 디코딩 방법은 아래를 참조하십시오.
우리는 6 개의 미세 조정 된 모델을 출시하여 저수고가 낮은 사용자 가중화 데이터 세트에서 더 미세 조정할 수 있습니다. 이 모델의 총 매개 변수는 OpenAI GPT-2 모델 크기에 따라 117m에서 762m입니다.
| 모델 | GPT-2에서 미세 조정 | 처음부터 훈련 |
|---|---|---|
| 대화 762m 모델 | [링크] [Huggingface 모델 카드] | [링크] |
| 대화 345m 모델 | [링크] [Huggingface 모델 카드] | [링크] |
| 대화 117m 모델 | [링크] [Huggingface 모델 카드] | [링크] |
| Dialogpt 345m 모델 (MMI의 반대) | 링크 | - |
| DialOgrpt ( 새로운 순위 모델) | 링크 | - |
모델 파일은 Huggingf 대화식의 repo에서 ./configs/* 에서 해당 구성 파일 ( merges.txt , config.json , vocab.json )을 찾을 수 있습니다.
역 모델은 대상의 소스를 예측하는 것입니다. 이 모델은 MMI보고에 사용됩니다.
DialOgrpt는 최근에 제안 된 순위 모델이 응답의 인간 피드백 (Upvotes, Replies)을 예측하는 데 사용되었습니다. 이 모델은 대화 생성 품질을 향상시키는 데 사용될 수 있습니다 (자세한 내용은 EMNLP 용지 참조).
전체 모델을 재교육하는 첫 번째 단계는 위에서 언급 한 27GB Reddit 데이터 세트를 생성하는 것입니다. 여기에는 https://files.pushshift.io/reddit의 전체 Reddit 제출 및 주석 덤프를 다운로드하고 중간 파일을 작성하는 것이 포함되며, 전체적으로 700GB의 로컬 디스크 공간이 필요합니다. 전체 데이터를 다운로드하고 처리하려면 (CPU) Compute Capabilties (예 : 최근 컴퓨터에 8 개의 코어가있는 ~ 24 시간)에 따라 약 1-2 일이 필요합니다. 위의 설정 및 설치 단계 (Conda Activate LSP 등)를 실행했다고 가정하면 다음 중 하나를 실행하여 전체 데이터 세트를 만들 수 있습니다.
python demo.py --data full
또는
cd reddit_extractor; SIZE=full make -j 8; cd ..
전자 명령은 후자를 호출하므로 두 가지 방법은 동일합니다. 문제가 발생하거나 인수를 사용자 정의하려면 후자가 주로 유용하기 때문에 전자를 권장합니다 (예 : make 명령을 사용하면 데이터의 하위 집합 만 빌드 할 수 있습니다). 예를 들어 지리적 위치 (방화벽 등)를 기준으로 다운로드 단계가 오류가 발생할 수 있습니다. 위의 명령이 data/train.tsv 생성하지 못하거나 해당 파일이 27GB에 가까운 곳이 아닌 경우 문제가 발생했음을 의미합니다. 이 경우 reddit_extractor/wget-log 및 reddit_extractor/logs/*.log 오류 메시지가 이해가되지 않으면 언제든지 저희에게 연락하십시오. 그렇다면이 로그 파일에서 수집 한 오류 메시지를 포함하십시오.
교육 데이터 통계 : 생성 된 교육 TSV 파일은 146.8m 교육 인스턴스, 3.87b 소스 토큰 및 2.14B 대상 토큰 (발언 레벨 0/1 가중치 포함)을 사용하여 약 26.8GB가 압축되지 않아야합니다. 결과 Train.tsv 파일에는 146,846,215 줄이 포함되어야합니다.
(1) 데이터 demo.py --data full 생성하고 (2) DB 형식으로 변환하며 (3) python LSP_train.py 사용하여 모델을 트레이닝합니다. 하이퍼 파라미터를 사용자 정의하려면 demo.py 직접 편집하십시오.
우리의 모델은 DSTC-7 챌린지 응답 생성 작업에서 최신 결과를 달성했습니다.
| 실험 | NIST2 | NIST4 | bleu2 | bleu4 | 유성 | ENT-4 | Dist-1 | Dist-2 | avg. 렌 |
|---|---|---|---|---|---|---|---|---|---|
| 인간의 반응 | 2.62 | 2.65 | 12.35% | 3.13% | 8.31% | 10.45 | 16.66% | 67.01% | 18.8 |
| DSTC-7 우승자 | 2.51 | 2.52 | 14.35% | 1.83% | 8.07% | 9.03 | 10.89% | 32.49% | 15.1 |
| 대화 345m 대화 | 2.80 | 2.82 | 14.16% | 2.31% | 8.51% | 10.08 | 9.13% | 39.73% | 16.9 |
| 대화 345m (BS) | 2.92 | 2.97 | 19.18% | 6.05% | 9.29% | 9.57 | 15.73% | 51.03% | 14.2 |
여기서 ENT는 엔트로피 점수를 나타내고 Dist는 별개의 점수를 나타냅니다. 평균 길이를 제외한 모든 측정 항목의 경우 더 낫습니다.
인간 반응과 비교 한 우수한 자동 평가가 우리의 모델이 인간의 패리티를 달성한다는 것을 암시 할 필요는 없습니다. 자세한 분석은 논문을 확인하십시오.
8 V100 GPU가있는 서버의 DSTC-7 도전 데이터에 대한 345M 대화 모델을 미세 조정하려면 다음 명령 선을 실행하십시오 (DSTC 데이터는 DSTC-7 Repo에서 찾을 수 있습니다).
python3 -m torch.distributed.launch --nproc_per_node=8 train_LSP.py --init_checkpoint ./models/medium/medium_ft.pkl --train_input_file ./data/DSTC_train.db --eval_input_file ./data/DSTC_valid.tsv --model_name_or_path ./model/medium/ --learning_rate 1e-4 --train_batch_size 64 --eval_batch_size 64 --no_token_id훈련 된 모델은 DSTC 중간 모델에서 찾을 수 있습니다.
다음 3 자 패키지를 다운로드 하고 빈 폴더 3rdparty 에 저장하십시오.
cpan install )을 설치해야 할 수도 있습니다. XML : Twig, Sort : Naturally and String : Util. DSTC-7 공식 repo를 따라 데이터를 추출하고 data-official-test/test.refs.txt ./dstc/data/ 폴더에 넣으십시오.
인간 반응 가설 파일 human.resp.txt 를 생성하려면 아래 추출 스크립트를 실행하십시오.
python extract_human.py마지막으로 DSTC 데이터 세트에서 인간 가설 결과를 재현하려면 Repo 폴더 아래에 다음 명령을 실행하십시오.
python batch_eval.py 평가 결과는 폴더 ./dstc/eval/ 에서 생성됩니다.
Reddit에서 6K Multi-Ref 데이터 세트를 테스트합니다. 결과는 아래에 요약되어 있습니다
| 실험 | NIST2 | NIST4 | bleu2 | bleu4 | 유성 | ENT-4 | Dist-1 | Dist-2 | avg. 렌 |
|---|---|---|---|---|---|---|---|---|---|
| 인간의 반응 | 3.41 | 4.25 | 17.90% | 7.48% | 10.64% | 11 | 14.50% | 63.00% | 13.1 |
| 대화 117m | 2.39 | 2.41 | 10.54% | 1.55% | 7.53% | 10.78 | 8.60% | 39.90% | 12.8 |
| 대화 345m 대화 | 3 | 3.06 | 16.96% | 4.56% | 9.81% | 9.13 | 6.80% | 26.30% | 12.2 |
| 대화 762m 대화 | 2.84 | 2.9 | 18.66% | 5.25% | 9.66% | 9.72 | 7.76% | 29.93% | 11.2 |
| 대화 345m (BS) | 3.4 | 3.5 | 21.76% | 7.92% | 10.74% | 10.48 | 12.38% | 48.74% | 11.3 |
| 대화 345m (w/mmi) | 3.28 | 3.33 | 15.68% | 3.94% | 11.23% | 11.25 | 9.39% | 45.55% | 17.2 |
우리는 또한 인간 평가를 수행합니다 (각 방법에 대한 6K 예, 각 예제는 3 명의 인간 판사에 의해 평가됩니다). 결과는 우리 세대의 품질 이이 비inconcive 튜링 테스트에서 실제 인간 반응의 품질에 접근하는 데 강력한 증거를 보여줍니다.
관련성 : A와 B, 소스 프롬프트와 더 관련이 있습니다.
| 시스템 a | 승리 (%) | 넥타이 (%) | B 승리 (%) | 시스템 b |
|---|---|---|---|---|
| 대화 345m 대화 | 2671 (45%) | 513 (9%) | 2816 (47%) | 인간의 반응 |
| 대화 345m 대화 | 3281 (72%) | 394 (9%) | 882 (19%) | 성격 chat |
| 대화 345m w/ mmi | 2871 (48%) | 522 (9%) | 2607 (43%) | 인간의 반응 |
정보 성 : A와 B, 더 만족스럽고 유익한 정보.
| 시스템 a | 승리 (%) | 넥타이 (%) | B 승리 (%) | 시스템 b |
|---|---|---|---|---|
| 대화 345m 대화 | 2722 (45%) | 234 (4%) | 3044 (51%) | 인간의 반응 |
| 대화 345m 대화 | 3490 (77%) | 206 (5%) | 861 (19%) | 성격 chat |
| 대화 345m w/ mmi | 3011 (50%) | 234 (4%) | 2755 (46%) | 인간의 반응 |
인간과 같은 : A와 B, 인간에 의해 생성 될 가능성이 더 높다고 생각합니다.
| 시스템 a | 승리 (%) | 넥타이 (%) | B 승리 (%) | 시스템 b |
|---|---|---|---|---|
| 대화 345m 대화 | 2716 (45%) | 263 (4%) | 3021 (50%) | 인간의 반응 |
| 대화 345m 대화 | 3462 (76%) | 196 (4%) | 899 (20%) | 성격 chat |
| 대화 345m w/ mmi | 2978 (50%) | 241 (4%) | 2781 (46%) | 인간의 반응 |
ARXIV 용지의 자세한 내용을 참조하십시오.
| 역할 | 응답 |
|---|---|
| 사용자 | 돈이 행복을 사나요? |
| 봇 | 당신이 그것에 얼마나 많은 돈을 쓰는지에 따라 다릅니다. |
| 사용자 | 행복을 사는 가장 좋은 방법은 무엇입니까? |
| 봇 | 당신은 단지 20 대 초반까지 백만장자가되어야합니다. 그러면 행복 할 수 있습니다. |
| 사용자 | 이것은 너무 어렵다! |
| 봇 | 당신은 백만장 자이고 행복하기가 얼마나 힘든지 전혀 모릅니다. 부자가 돈이 많은 이유가 있습니다 |
| 역할 | 응답 |
|---|---|
| 사용자 | 삶의 의미는 무엇입니까? |
| 봇 | 의미는 가족과 친구들과 함께하는 것입니다. |
| 봇 | 나는 추측 할 것입니다 : 그것은 당신의 부모님과 친구들이 당신을 사랑했다는 것을 의미합니다. 그것이 의미입니다. |
| 봇 | 나는 당신이 죽을 때 당신이 살아있는지 확인하는 것이라고 생각합니다. 그래서 당신은 당신의 가족, 친구 및 자신과 함께있을 것입니다. |
| 봇 | 그렇지는 않지만 도와 주셔서 감사합니다. |
| 사용자 | 봇 |
|---|---|
| 미국 최초의 대통령은 누구입니다 | 조지 워싱턴 |
| 물의 끓는점은 무엇입니까? | 나는 약 212 F라고 생각합니다. |
| 어느 것이 더 크고, 태양 또는 달입니까? | 태양. |
| 어떤 동물에 흑백 줄무늬가 있습니까? | 흑백 줄무늬 고양이. |
| 사용자 | 봇 |
|---|---|
| 중국과 미국 간의 전쟁은 여전히 일어나고 있습니다. | 나는 중국 정부와 u를 확신합니다. S. 그들이 팔을 테이블 위에두고 돈이 흐르는 한 괜찮을 것입니다. |
| 2018 년에 누가 월드컵에서 우승 했습니까? | 독일, 나는 믿는다. |
| Nvidia의 Titan RTX는 정말 좋습니다. | 나는이 카드를 가지고 있고 나는 그것을 좋아한다. 불만이 없습니다. |
| 포르쉐가 새로운 Taycan EV로 테슬라를 이길 수 있습니까? | 나는 그렇게 생각하지 않습니다. 테슬라는 포르쉐보다 강력합니다. |
| 사용자 | 봇 |
|---|---|
| 좋은 삶의 의미는 무엇입니까? | 나는 우리 모두가 과거의 삶과 연결되어 있고 삶의 의미는 원하는 방식과 원하는 방식을 사는 것입니다. |
| 더 중요한 것은 성공적이거나 행복 해지는가? | 성공하는 것은 끝이 없습니다. 행복하다는 것은 중요한 것입니다. |
| 평화가 전쟁을 막는 유일한 방법입니까? | 세상이 당신과 함께 일하지 않는다면 아닙니다. 평화는 궁극적 인 목표이지만 평화는 그 이상을 요구합니다. |
| 사람들은 얼마나 많은 자유를 가져야합니까? | 적절한 양의 자유는 사람이나 재산을 해치지 않는 한 원하는대로 할 수있는 자유입니다. |
| 사용자 | 봇 |
|---|---|
| Dialogpt Repo에 대해 어떻게 생각하십니까? | 꽤 좋지만 버그를 찾는 것은 매우 쉽습니다. |
당신이 발견하면 문제를 시작하십시오 :)
실시간 데모 및 디코딩 스크립트 액세스는 지금 만 초대 할 것입니다. 전체 릴리스를 위해 계속 지켜봐 주시기 바랍니다.
Retgen : https://github.com/dreasysnail/retgen. 검색-절제/접지 대화 상자 및 그 너머. Retgen은 엔드 투 엔드 방식으로 조밀 한 통로 리트리버와 지식 지정 텍스트 생성기를 동시에 최적화하는 공동 교육 프레임 워크입니다.
Microsoft Icecaps : https://github.com/microsoft/icecaps.
이 프로젝트의 직교 저장소로서 Microsoft Icecaps는 신경 대화 시스템을 구축하기위한 오픈 소스 툴킷 (Tensorflow)입니다. ICECAPS는 복잡한 멀티 태스킹 학습 설정을 가능하게하는 유연한 패러다임 내에서 최근 대화 모델링 및 일반 NLP 문헌의 다양한 도구를 제공합니다.
사전 상사 Unilm : https://github.com/microsoft/unilm
mt-dnn : https://github.com/namisan/mt-dnn
Yangjianxin1의 중국어 대화 상대. https://github.com/yangjianxin1/gpt2-chitchat. 대화에서 사용한 MMI 전략 도이 프로젝트의 성능도 향상 시켰다는 것을 알게되어 기쁩니다!
질문/제안이 있으시면 [email protected]에 문의하십시오. 그러나 응답은 산발적입니다. 지연을 기대하십시오.
이 프로젝트는 기여와 제안을 환영합니다. 대부분의 기부금은 귀하가 귀하가 귀하의 기부금을 사용할 권리를 부여 할 권리가 있다고 선언하는 기고자 라이센스 계약 (CLA)에 동의해야합니다. 자세한 내용은 https://cla.opensource.microsoft.com을 방문하십시오.
풀 요청을 제출할 때 CLA 봇은 CLA를 제공하고 PR을 적절하게 장식 해야하는지 자동으로 결정합니다 (예 : 상태 점검, 댓글). 봇이 제공 한 지침을 따르십시오. CLA를 사용하여 모든 저장소에서 한 번만이 작업을 수행하면됩니다.
이 프로젝트는 Microsoft 오픈 소스 행동 강령을 채택했습니다. 자세한 내용은 추가 질문이나 의견이 있으면 행동 강령 FAQ 또는 [email protected]에 문의하십시오.
이 저장소는 대화 데이터에 대한 대규모 사전 여보에 대한 연구를 촉진하는 것을 목표로합니다. 이 툴킷에는 실행중인 대화 상자에서 실제로 모델 웨이트 파일을 생성하는 데 필요한 모델링 기계의 일부만 포함되어 있습니다. 자체적 으로이 모델은 다양한 텍스트 스팬의 가중치에 대한 정보 만 제공합니다. 연구원이 실제로 그것을 사용하려면, 자신의 대화 데이터를 가져 와서 사전 상환 시스템에서 응답 생성을 해독해야합니다. Microsoft는 사전에 사전 된 시스템의 제 3 자 활용의 세대에 대해 책임을지지 않습니다.
연구 에서이 코드를 사용하는 경우 ARXIV 논문을 인용 할 수 있습니다.
@inproceedings{zhang2019dialogpt,
title={DialoGPT: Large-Scale Generative Pre-training for Conversational Response Generation},
author={Yizhe Zhang and Siqi Sun and Michel Galley and Yen-Chun Chen and Chris Brockett and Xiang Gao and Jianfeng Gao and Jingjing Liu and Bill Dolan},
year={2020},
booktitle={ACL, system demonstration}
}