gpt2-chinese
説明
- BERTトークネザーまたはBPEトークネイザーを使用したGPT2トレーニングコードの中国語版。これは、Huggingface Team Transformersの非常に素晴らしいリポジトリに基づいています。詩、ニュース、小説、または一般的な言語モデルを訓練することができます。チャーレベル、単語レベル、BPEレベルをサポートします。大規模なトレーニングコーパスをサポートします。
- 中国のGPT2トレーニングコードでは、BertのトークナイザーまたはTentePieceのBPEモデルを使用しています(Kanghonghuaの貢献のおかげで、BPEモデルを実装するには、train.pyのコードをわずかに変更する必要があります)。詩、ニュース、小説を書くか、共通言語モデルを訓練することができます。ワードユニット、ワード分詞モード、またはBPEモード(わずかに変更されたtrain.pyコードが必要)をサポートします。大規模なコーパストレーニングをサポートします。
更新04.11.2024
- このプロジェクトにご注意いただきありがとうございます。 ChatGPTのリリース以来、このプロジェクトは再びある程度の注目を集めています。プロジェクト自体は、自分でPytorchを学ぶためのトレーニングプログラムであり、長期的なメンテナンスと更新を行うつもりはありません。 Big Model LLMに興味がある場合は、Me([email protected])にメールしてグループに参加してコミュニケーションをとるか、問題で話し合うことができます。
更新02.06.2021
このプロジェクトは、一般的な中国のGPT-2事前訓練モデル、一般的な中国のGPT-2事前訓練の小型モデル、中国の歌詞GPT-2事前訓練モデル、および古典的な中国のGPT-2事前訓練モデルを追加しました。このモデルはUER-PYプロジェクトによってトレーニングされており、使用できます。さらに、モデルはHuggingfaceモデルハブにアップロードされます。モデルの詳細については、GPT2-Chinese-ClueCorpussMall、GPT2-Distil-Chinese-ClueCorpussMall、GPT2-CHINESE-LYRIC、GPT2-CINESE-ANCIENTを参照してください。
すべてのモデルを使用して生成する場合、入力されたテキストの前にスタート記号を追加する必要があります。「最も美しいものは雨の日ではなく、あなたから逃げた軒です」を入力する場合、正しい形式は「[CLS]が雨の日ではなく、あなたから逃げた軒です」
更新11.03.2020
このプロジェクトは、古代の詩GPT-2事前訓練モデルとカプレットGPT-2事前訓練モデルを追加しました。このモデルはUER-PYプロジェクトによってトレーニングされており、使用できます。さらに、モデルはHuggingfaceモデルハブにアップロードされます。モデルの詳細については、GPT2-Chinese-poemおよびGPT2-Chinese-coupletを参照してください。
古代の詩モデルを使用して生成する場合、入力されたテキストの前にスタート記号を追加する必要があります。「MeishanがJiqingのようなもの」を入力する場合、正しい形式は「[cls] MeishanはJiqingのようです」です。
カプレットモデルトレーニングで使用されるコーパス形式は、「アッパーカプレット低下のカプレット」です。 Coupletモデルを使用して生成する場合、「Danfeng River Lengren chu go-」を入力する場合、入力テキストの前に開始文字を追加する必要があります。正しい形式は「[cls] danfeng river lengren chu go-」です。
ニュース08.11.2020
- CDIAL-GPT(このコードでロードできます)が公開されています。このプロジェクトには、厳密にクリーンされた大規模なオープンドメイン中国のダイアログデータセットが含まれています。このプロジェクトには、このデータセットと生成されたサンプルでトレーニングされたGPTダイアログの事前訓練モデルも含まれています。誰もが訪問できます。
ニュース12.9.2019
- 一部はこのプロジェクトのコードに基づいて、新しいプロジェクトGPT2-Chitchatがリリースされました。 GPT2ダイアログモデルをトレーニングするためのコードとトレーニングモデルが含まれ、サンプルを生成します。誰もが訪問できます。
ニュース12.7.2019
- 新しいProject Decoders-Chinese-TF2.0は、GPT2の中国のトレーニングもサポートしています。これは、使用が簡単で、さまざまな問題を簡単に引き起こしません。それはまだテスト段階にあり、誰もが彼らの意見を述べることを歓迎します。
ニュース11.9
- GPT2-ML(このプロジェクトとの直接的な関連性はありません)はリリースされており、1.5Bの中国のGPT2モデルが含まれています。興味があるか、必要な場合は、このプロジェクトでサポートされているPytorch形式に変換して、さらなるトレーニングまたは生成テストを行うことができます。
更新10.25
- このプロジェクトの最初の訓練を受けたモデルが発表され、散文生成モデルです。詳細については、READMEモデル共有セクションを確認してください。
プロジェクトステータス
- このプロジェクトの発表の時点で、中国のGPT2リソースはほぼゼロであり、今では状況が異なります。第二に、プロジェクト機能は基本的に安定しているため、このプロジェクトは一時的に停止されました。これらのコードを書くという私の当初の意図は、Pytorchを使用して練習することでした。後の段階でいくつかの仕事をしたとしても、まだ多くの未熟な側面があったので、理解してください。
使い方
- Project Root Directoryにデータフォルダーを作成します。 Train.jsonという名前の下のデータディレクトリにトレーニングコーパスを入れます。 Train.jsonはJSONリストであり、リストの各要素は、トレーニングされる記事のテキストコンテンツです(ファイルリンクではありません) 。
- train.pyファイルを実行して、-Rawをチェックしてデータを自動的に前処理します。
- 前処理が完了すると、トレーニングが自動的に実行されます。
テキストを生成します
python ./generate.py --length=50 --nsamples=4 --prefix=xxx --fast_pattern --save_samples --save_samples_path=/mnt/xx
- -FAST_PATTERN (LEECP8が貢献):生成された長さパラメーターが比較的小さく、基本的に違いがない場合、個人的にテストされた長さ= 250で、2秒高速でした。
- --save_samples :デフォルトでは、出力サンプルはコンソールに直接印刷されます。このパラメーターを渡すと、ルートディレクトリのsamples.txtに保存されます。
- -save_samples_path :保存されたディレクトリを自分で指定できます。デフォルトでは、マルチレベルのディレクトリを再帰的に作成できます。ファイル名を渡すことはできません。ファイル名はデフォルトでsamples.txtです。
ファイル構造
- Generate.pyとtrain.pyは、それぞれ生成とトレーニングのスクリプトです。
- Train_single.pyは、個々の要素の大規模なリスト(空での本のトレーニングなど)に使用できるTrain.pyの延長です。
- Eval.pyは、生成されたモデルのPPLスコアを評価するために使用されます。
- Generate_Texts.pyはGenerate.pyの拡張です。リストの開始キーワードでいくつかの文を生成し、それらをファイルに出力できます。
- Train.jsonは、参照用のトレーニングサンプルの形式の例です。
- キャッシュフォルダーには、いくつかのBert Vocabsが含まれています。 make_vocab.pyは、train.json Corpusファイルでボーカブを作成するのに役立つスクリプトです。 vocab.txtはオリジナルのBert Vocab、vocab_all.txtが追加の古代のvocabを追加し、vocab_small.txtは小さなvocabです。
- Tokenizationsフォルダーは、デフォルトのBertトークネザー、Bertトークナイザーの分詞バージョン、BPEトークンザーなど、選択できる3種類のトークナイザーです。
- スクリプトには、サンプルトレーニングと生成スクリプトが含まれます
知らせ
- このプロジェクトでは、Bertのトークンザーを使用して漢字を処理します。
- トークナイザー分詞バージョンを使用しておらず、事前に単語を分類する必要がない場合は、トークネイザーが分割するのに役立ちます。
- Tokenizer分詞バージョンを使用する場合、Cacheフォルダーのmake_vocab.pyファイルを使用してコーパスの語彙リストを作成することをお勧めします。
- モデルは単独で計算する必要があります。トレーニング前に完了した場合は、お気軽にお気軽にお問い合わせください。
- メモリが非常に大きい場合、またはコーパスが小さい場合は、train.py.pyのビルドファイルの対応するコードを変更して、コーパスを分割せずに直接処理できます。
- BPEトークナイザーを使用する場合は、独自の中国語の単語リストを作成する必要があります
材料
- ここからここからダウンロードできます。
- Doupo Sky Corpusはここからダウンロードできます。
FP16および勾配蓄積サポート
- Train.pyファイルにFP16と勾配蓄積サポートを追加しました。 APEXをインストールし、FP16が何であるかを知っている場合、変数FP16 = TRUEを変更して有効にすることができます。ただし、現在、FP16は不明な理由で収束しない場合があります。
著者に連絡してください
引用
@misc{GPT2-Chinese,
author = {Zeyao Du},
title = {GPT2-Chinese: Tools for training GPT2 model in Chinese language},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{https://github.com/Morizeyao/GPT2-Chinese}},
}
モデル共有
| モデル名 | モデルの紹介 | 共有 | リンクアドレス1 | リンクアドレス2 |
|---|
| 散文モデル | 130MBの有名な散文、感情的な散文、散文詩の訓練を使用してください。 | hughqiu | baidu netdisk | gdrive |
| 詩モデル | 180MBで約800,000の古代の詩を使用したトレーニングの結果。 | HHOU435 | baidu netdisk【7fev】 | gdrive |
| カプレットモデル | 約700,000カプレットの40MBを使用することによるトレーニング収入。 | HHOU435 | Baidu netdisk | gdrive |
| 一般的な中国モデル | Cluecorpussmall Corpusトレーニングを使用して得られた結果。 | HHOU435 | Baidu Netdisk [N3S8] | gdrive |
| 一般的な中国の小さなモデル | Cluecorpussmall Corpusトレーニングを使用して得られた結果。 | HHOU435 | baidu netdisk [rpjk] | gdrive |
| 中国の歌詞モデル | トレーニング結果は、140MBの約150,000の中国語の歌詞を使用して取得されました。 | HHOU435 | baidu netdisk | gdrive |
| 古典的な中国モデル | 1.8GBを使用して、約300万の古典的な中国のトレーニング作品が取得されました。 | HHOU435 | baidu netdisk [ek2z] | gdrive |
これは、熱狂的で寛大なGitの友人のトレーニングから得られたモデルファイルであり、使用するためにすべての友人に開かれています。同時に、すべてのパートナーがここでトレーニングしたモデルを開示することを歓迎します。
デモ
- この倉庫の変更されたコードに基づいてユーザーJameshujyによって訓練されたモデルは、規制された節と四角の背景として使用されます。 Nine Songs Poetry Generatorの新しいバージョンが発売されました。
- Leemengtaiwanが貢献し、GPT-2への直接的な紹介と自己触媒メカニズムを視覚化する方法を提供する記事を提供します。コラブノートブックとモデルも、ユーザーが一度に新しい例を生成するために提供されます。
サンプルを生成します
- 以下は、Hughqiuが提供する文学エッセイの生成の例であり、モデルはモデル共有リストで共有されています。コーパス130MB、バッチサイズ16、10層の深さでの10ラウンドのトレーニング。 


- 以下は、ドゥーポカンキオンのサンプル生成です。約50mのパラメーターを備えたGPT2は、32バッチサイズの16MB Doupo Cangqiongの新規コンテンツでトレーニングされました。ここで[9月]は新しいラインを意味します。

- 以下は、ユーザーJameshujyによって計算および貢献されている古代の詩の世代のサンプルです。


- 以下は、ユーザーJameshujyによって計算および貢献される古代の詩の世代後のサンプル生成です。



- 以下は、生成されたスクリプトのサンプルテキストで、ユーザーのChiangandyによって計算および寄稿されます。
[StartText]ラブゲームのプロットは、ピアノの父と娘の間のかわいい愛の物語を語っています。 1980年代の株式記録メディアは、ネチズンによって共有されました。 2014年のメインクリエイターのチェンレイーンのブランドディレクターの兄弟であり、上海フアイエ川の大国でした。最前線の会社の若者はキャリアを持っていませんでしたが、ラン・チャンシはそれを理解することを拒否しました。 Lan Yueのヘルプコンセプトの出現は、明確な誤解を開始し、ビジネスは愛の川になりました。偶発的なテレビシリーズでは、テレビシリーズはその運命を変えました。それらの3つは、自動車事故で彼らの作品に割り当てられました。彼らは、業界の誤解と控えめな才能について尋ねられました。 Chen ZhaoとTang Shishiyanは、まったく異なる「2014年の関係」を開始しました。二人は相互の性格を持ち、相互治療を受けました。彼らは、90年代以降の世代である北京Huaqiao大学が記録した小さな寮の旅であり、Tang RuやShengなどの優れた若者でしたが、人々の人生はどのようにして希望に反して一緒に創造しましたか?そして、なぜ彼らはお互いの成功と関心を持っていたのですか? [endtext]
[StartText]学習愛は、主にXiaomanの2組の物語を語っています。ばかげたテストの後、彼らはついに3人の子供を選び、4人の子供を創造するために一緒にビジネスを始め、大都市で成功したビジネスを始めました。 2つのビジネスは北京に参加しました。しばらくして、彼らは混乱と違いの後に異なるものを手に入れ、ついに彼らの夢の真の愛を獲得しました。スポンサーの理想、テレビシリーズ、ドラマなどの主要な起業家キャラクターの開会式が北京で開催されました。このドラマは、海南の3人の新人のテレビの視点に基づいています。それは、北京とコメディ世代の非ロマンティックを強化した数人の若者の物語を語っています。中国の都市化である北京から北京までのユニークなデュアルエラの若者により、中国の大都市は発展を遂げました。言語都市の変化に伴い、彼らの漸進的なライフスタイルは、彼ら自身の方向に対してこのような単純な下品さを上演しました。現代の時代に撮影されています。この街にいる方法は?穏やかな街は街のスタイルです。 Zhang Jiaheは作業の作成をサポートしています。これは、空港ドラマクルーミーティングを作成する必要があるという点です。チェスや文化に変身する人々は非常にユニークでセンセーショナルで、絡み合っていて、面白く、美しい北東と本土から来て、2人の女の子がミュートガールと呼ばれることを敢えてします。織物の人々は冗談を言い、印象的な気質は人々を非常にコメディに見せました。彼らが知っていたのは、「北東」の外国人家族の支持者で、ドラマを読むのが上手に見えました。その後、彼への愛を表明したQi Fei、Qi Fei、Fan Er、Chu Yuezi、Bai Tianjie。 2世代の友情には、陽気で素晴らしい表情の組み合わせがないようです。 [endtext]
- 以下は、Leemengtaiwanが貢献したJin YongとWu Qiの小説の世代の例です。モデルサイズは約82m、言語素材は50MB、バッチサイズは16です。GPT-2を導入するための記事と自己関節メカニズムを視覚化する方法を提供します。コラブノートブックとモデルも、ユーザーが一度に新しい例を生成するために提供されます。



