Dieses Repository enthält den Quellcode und das trainierte Modell für ein groß angelegtes Modell für die Erzeugung der Dialogreaktion. Die Ergebnisse der menschlichen Bewertung zeigen, dass die aus dem Dialogpt erzeugte Antwort mit der Qualität der menschlichen Reaktion unter einem Turing-Turing-Turing-Turing-Test mit menschlicher Reaktion vergleichbar ist.
Das Repository basiert auf dem Huggingface-Pytorch-Transformator und OpenAI GPT-2, das Datenextraktionskript, Modelltrainingscode und ein vorgefertigtes kleines (117 m) Medium (345 m) und großer (762 m) Modell-Checkpoint (762 m) enthält.
Das Modell ist im 147-m-Multiturn-Dialog aus dem Reddit-Diskussionsthread geschult. Das größte Modell kann in mehreren Stunden auf 8 V100 -Maschinen trainiert werden (dies ist jedoch nicht erforderlich), mit verteiltem Training und FP16 -Option.
Mit dem Include-Skript können die Ergebnisse der DSTC-7-Dialoggenerierungherausforderung und eines 6K-Multi-Referenz-Datensatzes aus Reddit-Daten reproduziert werden.
Projektwebseite: https://www.microsoft.com/en-us/research/project/large-scale-proetraining-for-pesponse-generation/
ARXIV Papier: https://arxiv.org/abs/1911.00536
(Aktualisieren Sie 07/09/2022) Änderungen in den Dateien.pushShift.io/reddit Server haben dazu geführt, dass unsere Pipeline für die Datenerzeugung bricht. Diese Probleme wurden nun behoben, und die in den folgenden Datenvorbereitungsabschnitt erläuterten Schritte sollten erneut funktionieren. Die Daten werden in etwa 10 Stunden mit 8 Prozessen ( -j 8 ) generiert, und 800 GB temporärer Festplattenraum sind erforderlich.
(Aktualisieren Sie 23.06.2021) Wir haben eine retrieval-augmented/geerdete Version von Dialogpt (Retgen) veröffentlicht. Schauen Sie sich bitte das Retgen-Repo und das Retgen-Papier an
(Update 20.05.2021) Eine großartige Videowechsel auf YouTube für Dialogpt von Prakhar Mishra
(Aktualisieren Sie 03.03.2021) Eine Demo der 3. Party von AK391 mit Gradio Web Demo probieren Sie es aus
(Update 15.09.2020) Es wurde ein Satz von Dialog-Ranking-Modellen mit großem Maßstab veröffentlicht!
Die Dialogpt -Erzeugung wird durch Integration in unsere neuesten Dialog -Ranking -Modelle Dialogpta verbessert
(Update 07/08/2020) Der 6K-Multi-Ref-Testsatz wurde veröffentlicht!
Um die Daten zu generieren, leiten Pleaser demo.py und setzen Sie die Datenoption auf "voll", der generierte 6K-Multi-Ref-Testsatz wird sich befinden
./data/test.refs.txt
(Update 03/10/2020) Modellkarten in Huggingface -Transformatoren verfügbar!
Bitte lesen Sie unsere Modellkarten im Repository von Huggingface -Transformatoren. Mit mehreren Codezeilen sollte es ziemlich geraden sein, mit dem Dialogpt interaktiv mit dem Dialogpt zu spielen.
Kleines Modell: https://huggingface.co/microsoft/dialogpt-small
Mittelmodell: https://huggingface.co/microsoft/dialogpt-medium
Großes Modell: https://huggingface.co/microsoft/dialogpt-large
(Neu) Ranking-Modell: https://huggingface.co/microsoft/dialogrption-updown
(Aktualisieren Sie 01/06/2020) Einige Drittanbieter-Dekodierungs-Skript-Implementierungen:
Dialogpt wurde vollständig auf Ubuntu 16.04 entwickelt, und - abhängig von unserer Verfügbarkeit - versuchen wir, Unterstützung zu bieten, wenn Sie Schwierigkeiten haben, den Code auf derselben Konfiguration auszuführen. Wir können jedoch keine Unterstützung für andere Verteilungen oder Betriebssysteme bieten . Teile des Codes können auf anderen Unix -Geschmacksrichtungen (macOS, Windows -Subsystem für Linux, Cygwin usw.) ausgeführt werden. Es wird jedoch empfohlen, Ubuntu für den Haupttrainingscode zu verwenden.
Der Trainingscode kann auf CPU ausgeführt werden, kann aber langsam sein. Wir empfehlen, mit GPU alle Modelle zu trainieren und zu beenden. Es gibt keine minimale Grenze für die Anzahl der GPUs. Bei Verwendung verteilter Zug für mehrere GPU-Konfiguration ist die Beschleunigung gegenüber der Anzahl der GPUs bei etwa sublinear. Um das gleiche BatchSize bei der Verwendung weniger GPUs zu simulieren, verwenden Sie bitte einen größeren gradient_accumulation_steps im Modelltraining.
Das Modell von 117 m und 345 m kann in einer einzelnen GPU mit 12G -Speicher geladen werden. Für das 762M -Modell würde eine einzelne GPU mit einem Speicher von mehr als 16 g für ein effizientes Training benötigen. Die Trainingsgeschwindigkeit eines Benchmark -Daten mit 50 m Trainingsinstanzen und V100 -GPUs:
| n_gpu | Epochenzeit (h) | Token/Sek |
|---|---|---|
| 1 | 118 | 10847 |
| 2 | 62 | 20645 |
| 4 | 34 | 37647 |
| 8 | 18 | 71356 |
Die Feinabstimmung aus unserem vorbereiteten Modell auf einem neuen Datensatz erfordert normalerweise 1-2 Epochen.
Wir haben eine Demo demo.py für Demo -Skript erstellt, um die Schwierigkeit der Bereitstellung dieses Systems zu erleichtern. Die demo.py enthält eine Pipeline für das Herunterladen , Datenextraktion, Datenvorverarbeitung und Modelltraining über einen Dummy -Datensatz innerhalb einer Befehlszeile.
Bitte verwenden Sie die folgenden Befehlslinien zum Klonen, installieren Sie die Anforderungen und laden Sie die Conda -Umgebung (Beachten Sie, dass das NVIDIA CUDA 10.0 -Entwickler -Toolkit erforderlich ist):
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 Wenn Sie dies auf einer anderen Architektur als Linux ausführen, verwenden Sie bitte LSP-generic.yml anstelle von LSP-linux.yml Bitte beachten Sie, dass das generische nicht auf der gesamten Plattform getestet wird, sodass die Stabilität nicht gaurantiert werden kann. Um das FP16 -Training zu verwenden, installieren Sie bitte Apex mit den folgenden Befehlen
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.pyInstallieren Sie zunächst den Docker und Nvidia-Docker von ihren offiziellen Repos. Die Bildumgebung zum Ausführen des Codes kann wie unten geladen werden:
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 bashLaufen Sie im Docker -Container
python demo.py In diesem Abschnitt werden alle Komponenten in der demo.py erläutert.
Bevor Sie demo.py ausführen, können Sie Data_Folder (Standardwert ./models ) in demo.py als den Ort festlegen, den Sie alle Daten herunterladen und vorgezogene/fein abgestimmte Modelle herunterladen möchten. Dann einfach rennen
python demo.pyZu
Beachten Sie, dass die demo.py standardmäßig eine Dummy -Daten verwendet. Bitte geben Sie die Reddit -Trainingsdaten mithilfe von Option --data an. Drei Optionen sind verfügbar: dummy , small und full .
python demo.py --data small
python demo.py --data fullDie kleinen Reddit -Daten sind rund 140 MB und die vollständigen Reddit -Daten sind mehr als 27 GB. Sie können eine Tasse Kaffee bei der Verarbeitung mit den vollständigen Reddit -Daten zubereiten, da es lange dauert !
Um die 6K Multi-Ref-Test-Set-Daten zu generieren, leiten Pleaser demo.py und setzen Sie die Datenoption auf "voll".
./data/test.refs.txt
Die vorbereiteten und fein abgestimmten Modelle sind auf Azure Blobstorage erhältlich. Bitte führen Sie demo.py aus/siehe weitere Informationen zum Herunterladen/Verwenden dieser Modelle. Oder Sie können direkt mit den Links in demo_utils.py herunterladen.
Verwenden Sie zunächst den prepare4db.sh , um eine TSV -Datendatei in das richtige Format zu konvertieren, das das folgende Skript erkennen kann. Die Zugdaten müssen dann in eine Datenbankdatei mit unten beauftragten Befehlszeile verarbeitet werden:
python prepro.py --corpus $DATA_PATH Das Trainingsskript kann in einzelnen GPU- oder mehreren GPU -Einstellungen verwendet werden (verteiltes Training über mehrere GPUs innerhalb eines einzelnen Knotens):
python ./LSP_train.py # Single GPU training
python -m torch.distributed.launch --nproc_per_node=8 ./LSP_train.py # Training on 8 GPUsDas Trainingsskript akzeptiert mehrere Argumente, um das Training zu optimieren:
| Argument | Typ | Standardwert | Beschreibung |
|---|---|---|---|
| max_seq_length | int | 128 | Maximale Anzahl von Token für jede Trainingsinstanz. |
| train_input_file | str | "" | Pfad des Trainingsdatensatzes in einem .db -Format |
| Eval_input_file | str | "" | Pfad der in einem TSV -Format festgelegten Validierung |
| Continor_from | int | 0 | Wiederaufnahme des Trainings nach einer bestimmten Anzahl von Schritten |
| FP16 | boolean | True | Ob Sie 16 Bits Floating Point für das Modelltraining verwenden möchten. |
| train_batch_size | int | 4 | Chargengröße für das Training |
| valid_batch_size | int | 4 | Chargengröße zur Validierung |
| gradient_accumulation_steps | int | 2 | Akkumulieren Sie Gradienten in mehreren Schritten |
| Learning_rate | float | 1e-5 | Lernrate |
| LR_Schedule | str | noam | Der Zeitplan für die Lernrate kann aus [ noam , noamwd , BERT , None ] ausgewählt werden. |
| num_optim_steps | int | 1000000 | Anzahl der Trainingsoptimierungsschritte |
| no_token_id | boolean | True | Wenn festgelegt, verwenden Sie die Einbettung vom Typ All-Zeros-Token-Typ. |
Während des Trainings werden zwei Protokolldateien aktualisiert. Der train_log.txt und eval_log.txt enthält den Modellverlust, die Verwirrung und die Trainingsgeschwindigkeit (Token/Sec) für das Training und die Dev -Set.
Die Protokolldatei und das gespeicherte Modellkontrollpunkt finden Sie in ./models/output_model
Wir stellen fest, dass unser Modell selbst bei ordnungsgemäß gefilterten Reddit -Datensatz manchmal immer noch mäßig toxische/unangemessene Antworten erzeugen kann. Aus diesem Grund können wir das Dekodierungsskript zu diesem Zeitpunkt nicht bereitstellen (der Zugriff auf Live -Demo- und Dekodierungsskript ist erst jetzt auf Einladung). Wir arbeiten derzeit noch an einer kontrollierten Dekodierungsmethode, um zu verhindern, dass dieses System die toxische Erzeugung angeht. Bitte bleiben Sie dran.
In den Diskussionen Nr. 3 und Reddit finden Sie einige Diskussionen über Decodierungsmethoden von Drittanbietern.
Im Folgenden finden Sie einige Dekodierungsmethoden von Drittanbietern:
Wir veröffentlichen 6 fein abgestimmte Modelle, die im benutzerdefinierten Datensatz mit niedrigressourcener Nutzung weiter abgestimmt werden können. Die Gesamtparameter in diesen Modellen reichen von 117 m bis 762 m gemäß OpenAI GPT-2-Modellgrößen.
| Modell | Fein abgestimmt von GPT-2 | Von Grund auf neu trainiert |
|---|---|---|
| Dialogpt 762m Modell | [Link] [HuggingFace -Modellkarte] | [Link] |
| Dialogpt 345m Modell | [Link] [HuggingFace -Modellkarte] | [Link] |
| Dialogpt 117m Modell | [Link] [HuggingFace -Modellkarte] | [Link] |
| Dialogpt 345m Modell (umgekehrt für MMI) | Link | - - |
| Dialog ( neue Ranking -Modelle) | Link | - - |
Die Modelldateien können genau wie die GPT-2-Modellprüfpunkte von den Transformatoren von Huggingface geladen werden. Sie finden die entsprechenden Konfigurationsdateien ( merges.txt , config.json , vocab.json ) in Dialogpts Repo in ./configs/* .
Das umgekehrte Modell prognostiziert die Quelle aus dem Ziel. Dieses Modell wird zum MMI -Reranking verwendet.
Die Dialogrptionsmodelle Unsere kürzlich vorgeschlagenen Ranking -Modelle, mit denen das menschliche Feedback (Upvotes, Antworten) der Antworten vorhergesagt wird. Diese Modelle können verwendet werden, um die Qualität der Dialogpt -Generation zu verbessern (Einzelheiten finden Sie in unserem EMNLP -Papier).
Der erste Schritt, um die vollständigen Modelle zu überholen, besteht darin, den oben genannten 27 -GB -Reddit -Datensatz zu generieren. Dies beinhaltet das Herunterladen der vollständigen Reddit -Einreichung und Kommentare von https://files.pushshift.io/reddit und das Erstellen von Zwischendateien, die insgesamt 700 GB lokaler Speicherplatz erfordern. Das Herunterladen und Verarbeiten der vollständigen Daten erfordert je nach CPU (CPU) Rechnungskapazilitäten etwa 1-2 Tage (z. B. ~ 24 Stunden mit 8 Kernen auf einem aktuellen Computer). Angenommen, Sie haben die oben genannten Setup- und Installationsschritte ausgeführt (Conda aktivieren LSP usw.), können Sie den vollständigen Datensatz erstellen, indem Sie entweder ausführen:
python demo.py --data full
oder
cd reddit_extractor; SIZE=full make -j 8; cd ..
Der erstere Befehl ruft die letzteren auf, sodass die beiden Methoden gleichwertig sind. Wir empfehlen den ersteren, da letztere größtenteils nützlich ist, wenn Sie auf ein Problem stoßen oder Argumente anpassen möchten (z. make können Sie nur eine Teilmenge der Daten erstellen). Beachten Sie, dass die Download -Phase beispielsweise auf Ihrer Geolokalisierung (Firewall usw.) fehleranfällig sein kann. Wenn die obigen Befehle keine data/train.tsv generieren oder wenn diese Datei nicht in der Nähe von 27 GB ist, bedeutet dies, dass etwas schief gelaufen ist. In diesem Fall möchten Sie reddit_extractor/wget-log und reddit_extractor/logs/*.log für einen offensichtlichen Fehler inspizieren (z. B. WGet kann nicht von pushshift.io heruntergeladen werden). Wenn Fehlermeldungen für Sie nicht sinnvoll sind, können Sie sich gerne an uns wenden. Wenn ja, stellen Sie bitte alle Fehlermeldungen an, die aus diesen Protokolldateien gesammelt wurden.
Trainingsdatenstatistik: Die generierte Trainings-TSV-Datei sollte ungefähr 26,8 GB unkomprimiert sein, mit 146,8 m-Trainingsinstanzen, 3,87B-Quell-Token und 2,14B-Zieltoken (einschließlich 0/1 Gewichte von Äußerungsebene). Die resultierende Training.TSV -Datei sollte 146.846.215 Zeilen enthalten.
Wir empfehlen, die oben genannten Daten mithilfe der demo.py --data full zu generieren, da sie (1) die Daten generiert, (2) sie in das DB -Format umwandelt und (3) ein Modell mit python LSP_train.py trainiert. Bitte bearbeiten Sie demo.py direkt, wenn Sie die Hyperparameter anpassen möchten.
Unser Modell erreichte die hochmodernen Ergebnisse in der DSTC-7-Herausforderungserzeugungsaufgabe.
| Experiment | NIST2 | NIST4 | Bleu2 | Bleu4 | METEOR | Ent-4 | Dist-1 | Dist-2 | Avg. Len |
|---|---|---|---|---|---|---|---|---|---|
| Menschliche Reaktion | 2.62 | 2.65 | 12,35% | 3,13% | 8,31% | 10.45 | 16,66% | 67,01% | 18.8 |
| DSTC-7-Gewinner | 2.51 | 2.52 | 14,35% | 1,83% | 8,07% | 9.03 | 10,89% | 32,49% | 15.1 |
| Dialogpt 345m | 2.80 | 2.82 | 14,16% | 2,31% | 8,51% | 10.08 | 9,13% | 39,73% | 16.9 |
| Dialogpt 345 m (BS) | 2.92 | 2.97 | 19,18% | 6,05% | 9,29% | 9.57 | 15,73% | 51,03% | 14.2 |
wobei ENT den Entropiewert darstellt und Dist die unterschiedliche Punktzahl darstellt. Bei allen Metriken, mit Ausnahme der durchschnittlichen Länge, sind größer besser.
Beachten Sie, dass die überlegene automatische Bewertung im Vergleich zu menschlichen Reaktionen nicht erforderlich bedeutet, dass unser Modell die menschliche Parität erreicht. Bitte besuchen Sie unser Papier, um eine detailliertere Analyse zu erhalten.
Um das 345M Dialogpt-Modell auf den DSTC-7-Herausforderungsdaten auf einem Server mit 8 V100-GPUs zu optimieren, führen Sie bitte die folgende Befehlszeile aus (die DSTC-Daten finden Sie unter 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_idDas ausgebildete Modell finden Sie im DSTC -Mediummodell
Bitte laden Sie die folgenden Pakete der 3. Party herunter und speichern Sie den leeren Ordner 3rdparty :
cpan install ): XML: Twig, Sortieren: Natürlich und String: Util. Bitte folgen Sie dem offiziellen Repo von DSTC-7, um die Daten zu extrahieren, und setzen Sie data-official-test/test.refs.txt in ./dstc/data/ Ordner.
Führen Sie das unten stehende Extraktionskript aus, um die Hypothesendatei Human human.resp.txt zu erstellen.
python extract_human.pyUm die Ergebnisse der menschlichen Hypothese im DSTC -Datensatz zu reproduzieren, führen Sie bitte die folgenden Befehle im Repo -Ordner aus:
python batch_eval.py Die Bewertungsergebnisse werden im Ordner generiert ./dstc/eval/
Wir testen von Reddit auf einem 6K-Multi-Ref-Datensatz. Die Ergebnisse sind unten zusammengefasst
| Experiment | NIST2 | NIST4 | Bleu2 | Bleu4 | METEOR | Ent-4 | Dist-1 | Dist-2 | Avg. Len |
|---|---|---|---|---|---|---|---|---|---|
| Menschliche Reaktion | 3.41 | 4.25 | 17,90% | 7,48% | 10,64% | 11 | 14,50% | 63,00% | 13.1 |
| Dialogpt 117m | 2.39 | 2.41 | 10,54% | 1,55% | 7,53% | 10.78 | 8,60% | 39,90% | 12.8 |
| Dialogpt 345m | 3 | 3.06 | 16,96% | 4,56% | 9,81% | 9.13 | 6,80% | 26,30% | 12.2 |
| Dialogpt 762 m | 2.84 | 2.9 | 18,66% | 5,25% | 9,66% | 9.72 | 7,76% | 29,93% | 11.2 |
| Dialogpt 345 m (BS) | 3.4 | 3.5 | 21,76% | 7,92% | 10,74% | 10.48 | 12,38% | 48,74% | 11.3 |
| Dialogpt 345 m (W/MMI) | 3.28 | 3.33 | 15,68% | 3,94% | 11,23% | 11.25 | 9,39% | 45,55% | 17.2 |
Wir führen weiter menschliche Bewertungen durch (6K -Beispiele für jede Methode, jedes Beispiel wird von 3 menschlichen Richtern bewertet). Die Ergebnisse zeigen starke Beweise dafür, dass unsere Generationsqualität die Qualität der realen menschlichen Reaktionen unter diesem nicht-interaktiven Turing-Test nähert:
Relevanz : A und B, welche für die Quellaufforderung relevanter ist.
| System a | A Siege (%) | Krawatten (%) | B Siege (%) | System b |
|---|---|---|---|---|
| Dialogpt 345m | 2671 (45%) | 513 (9%) | 2816 (47%) | Menschliche Reaktionen |
| Dialogpt 345m | 3281 (72%) | 394 (9%) | 882 (19%) | Persönlichkeit |
| Dialogpt 345 m w/ mmi | 2871 (48%) | 522 (9%) | 2607 (43%) | Menschliche Reaktionen |
Informativität : A und B, welcher ist zufriedener und informativer.
| System a | A Siege (%) | Krawatten (%) | B Siege (%) | System b |
|---|---|---|---|---|
| Dialogpt 345m | 2722 (45%) | 234 (4%) | 3044 (51%) | Menschliche Reaktionen |
| Dialogpt 345m | 3490 (77%) | 206 (5%) | 861 (19%) | Persönlichkeit |
| Dialogpt 345 m w/ mmi | 3011 (50%) | 234 (4%) | 2755 (46%) | Menschliche Reaktionen |
Menschlich : a und b, welches ist Ihrer Meinung nach eher vom Menschen erzeugt.
| System a | A Siege (%) | Krawatten (%) | B Siege (%) | System b |
|---|---|---|---|---|
| Dialogpt 345m | 2716 (45%) | 263 (4%) | 3021 (50%) | Menschliche Reaktionen |
| Dialogpt 345m | 3462 (76%) | 196 (4%) | 899 (20%) | Persönlichkeit |
| Dialogpt 345 m w/ mmi | 2978 (50%) | 241 (4%) | 2781 (46%) | Menschliche Reaktionen |
Bitte beachten Sie die vollständigen Details in unserem Arxiv -Papier.
| Rolle | Antwort |
|---|---|
| Benutzer | Kauft Geld Glück? |
| Bot | Hängt davon ab, wie viel Geld Sie dafür ausgeben. |
| Benutzer | Was ist der beste Weg, um Glück zu kaufen? |
| Bot | Sie müssen zu Ihren frühen 20ern nur Millionär sein, dann können Sie glücklich sein. |
| Benutzer | Das ist so schwierig! |
| Bot | Sie haben keine Ahnung, wie schwer es ist, Millionär und glücklich zu sein. Es gibt einen Grund, warum die Reichen viel Geld haben |
| Rolle | Antwort |
|---|---|
| Benutzer | Was ist der Sinn des Lebens? |
| Bot | Die Bedeutung ist, mit Ihrer Familie und Ihren Freunden zusammen zu sein. |
| Bot | Ich werde raten: Das bedeutet, dass deine Eltern und Freunde dich geliebt haben. Das ist die Bedeutung, glaube ich. |
| Bot | Ich denke, die Bedeutung ist, sicherzustellen, dass Sie am Leben sind, wenn Sie sterben. Sie werden also mit Ihrer Familie, Ihren Freunden und Ihnen zusammen sein. |
| Bot | Es ist nicht, aber danke, dass du versuchst zu helfen. |
| Benutzer | Bot |
|---|---|
| Wer ist der erste Präsident der Vereinigten Staaten? | George Washington |
| Was ist der Siedepunkt des Wassers? | Ich denke, es geht um 212 F. |
| Welches ist größer, Sonne oder Mond? | Die Sonne. |
| Welches Tier hat schwarze und weiße Streifen? | Eine schwarz -weiß gestreifte Katze. |
| Benutzer | Bot |
|---|---|
| Der Handelskrieg zwischen China und den USA findet immer noch statt. | Ich bin sicher, die chinesische Regierung und die u. S . wird damit einverstanden sein, solange sie ihre Arme auf dem Tisch halten und das Geld fließt. |
| Wer hat 2018 die Weltmeisterschaft gewonnen? | Deutschland, glaube ich. |
| Nvidias Titan RTX ist wirklich gut. | Ich habe diese Karte und ich liebe sie. Keine Beschwerden. |
| Kann Porsche Tesla mit seinem neuen Taycan EV schlagen? | Ich glaube nicht. Der Tesla ist mächtiger als der Porsche. |
| Benutzer | Bot |
|---|---|
| Was bedeutet ein gutes Leben? | Ich denke, es ist so, dass wir alle mit unserem vergangenen Leben verbunden sind und der Sinn des Lebens ist es, so zu leben, wie Sie wollen und wie Sie wollen. |
| Was ist wichtiger - erfolgreich zu sein oder glücklich zu sein? | Erfolgreich zu sein ist nur endlos. Glücklich zu sein ist das einzige, was zählt. |
| Ist Frieden der einzige Weg, um den Krieg zu stoppen? | Nicht, wenn die Welt nicht bereit ist, mit Ihnen zu arbeiten. Frieden ist das ultimative Ziel, aber Frieden erfordert mehr als das. |
| Wie viel Freiheit sollten Menschen haben? | Die richtige Freiheit ist die Freiheit, zu tun, was Sie möchten, solange Sie keine Menschen oder Eigentum verletzen. |
| Benutzer | Bot |
|---|---|
| Was denkst du über das Dialogpt -Repo? | Es ist ziemlich gut, aber es ist sehr einfach, einen Fehler zu finden. |
Bitte starten Sie ein Problem, wenn Sie welche entdecken :)
Die Live -Demo- und Decodierungs -Skriptzugriffs ist erst jetzt auf Einladung. Bitte blieben Sie auf der vollen Veröffentlichung.
Retgen: https://github.com/dreasysnail/retgen. Abruf-ausgerüstete/geerdete Dialogpta und darüber hinaus. Retgen ist ein gemeinsamer Trainingsrahmen, der gleichzeitig einen dichten Durchgangsretriever und einen wissensgerichteten Textgenerator auf Ende zu Ende optimiert.
Microsoft ICECAPS: https://github.com/microsoft/icecaps.
Als orthogonales Repository dieses Projekts ist Microsoft ICECAPS ein Open-Source-Toolkit (im Tensorflow) zum Aufbau neuronaler Konversationssysteme. ICECAPS bietet eine Reihe von Tools aus der jüngsten Konversationsmodellierung und der allgemeinen NLP-Literatur innerhalb eines flexiblen Paradigmas, das komplexe Multitasking-Lernaufbindungen ermöglicht.
Vorbereitet Unilm: https://github.com/microsoft/unilm
Mt-Dnn: https://github.com/namisan/mt-dnn
Ein chinesisches Gegenstück über Dialogpt von Yangjianxin1. https://github.com/yangjianxin1/gpt2-chitchat. Wir sind froh zu sehen, dass die MMI -Strategie, die wir in Dialogpt verwendet haben, auch die Leistung für dieses Projekt verbessert hat!
Bitte wenden Sie sich an [email protected], wenn Sie Fragen/Vorschläge haben. Die Reaktion wird jedoch sporadisch sein. Bitte erwarten Sie Verzögerungen.
Dieses Projekt begrüßt Beiträge und Vorschläge. In den meisten Beiträgen müssen Sie einer Mitarbeiters Lizenzvereinbarung (CLA) zustimmen, in der Sie erklären, dass Sie das Recht haben und uns tatsächlich tun, um uns die Rechte zu gewähren, Ihren Beitrag zu verwenden. Weitere Informationen finden Sie unter https://cla.opensource.microsoft.com.
Wenn Sie eine Pull -Anfrage einreichen, bestimmt ein CLA -Bot automatisch, ob Sie einen CLA angeben und die PR angemessen dekorieren müssen (z. B. Statusprüfung, Kommentar). Befolgen Sie einfach die vom Bot bereitgestellten Anweisungen. Sie müssen dies nur einmal über alle Repos mit unserem CLA tun.
Dieses Projekt hat den Microsoft Open Source -Verhaltenscode übernommen. Weitere Informationen finden Sie im FAQ oder wenden Sie sich an [email protected] mit zusätzlichen Fragen oder Kommentaren.
Dieses Repository zielt darauf ab, die Forschung in großem Maßstab für Konversationsdaten zu erleichtern. Dieses Toolkit enthält nur einen Teil der Modellierungsmaschinerie, die erforderlich sind, um tatsächlich eine Modellgewichtsdatei in einem ausgeführten Dialog zu erstellen. Dieses Modell enthält nur Informationen über die Gewichte verschiedener Textspannen. Damit ein Forscher es tatsächlich nutzt, müssen sie eigene Gesprächsdaten mitbringen und die Antwortgenerierung aus dem vorbereiteten System entschlüsseln. Microsoft ist für keine Generation aus der Nutzung des vorbereiteten Systems der Drittanbieter verantwortlich.
Wenn Sie diesen Code in Ihrer Forschung verwenden, können Sie unser Arxiv -Papier zitieren:
@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}
}