mirror of
https://github.com/THUDM/CogVideo.git
synced 2025-12-03 19:22:11 +08:00
docs: add Japanese README
I created Japanese translated README.
This commit is contained in:
parent
0a3eb32b33
commit
09dbda6986
@ -1,6 +1,7 @@
|
||||
# CogVideo && CogVideoX
|
||||
|
||||
[中文阅读](./README_zh.md)
|
||||
[日本語で読む](./README_ja.md)
|
||||
|
||||
<div align="center">
|
||||
<img src=resources/logo.svg width="50%"/>
|
||||
|
||||
172
README_ja.md
Normal file
172
README_ja.md
Normal file
@ -0,0 +1,172 @@
|
||||
# CogVideo && CogVideoX
|
||||
|
||||
[中文阅读](./README_zh.md)
|
||||
|
||||
<div align="center">
|
||||
<img src=resources/logo.svg width="50%"/>
|
||||
</div>
|
||||
<p align="center">
|
||||
🤗 <a href="https://huggingface.co/spaces/THUDM/CogVideoX" target="_blank">CogVideoX Huggingface Space</a> で体験
|
||||
</p>
|
||||
<p align="center">
|
||||
📚 <a href="resources/CogVideoX.pdf" target="_blank">論文</a> をチェック
|
||||
</p>
|
||||
<p align="center">
|
||||
👋 <a href="resources/WECHAT.md" target="_blank">WeChat</a> と <a href="https://discord.gg/Ewaabk6s" target="_blank">Discord</a> に参加
|
||||
</p>
|
||||
<p align="center">
|
||||
📍 <a href="https://chatglm.cn/video?fr=osm_cogvideox">清影</a> と <a href="https://open.bigmodel.cn/?utm_campaign=open&_channel_track_key=OWTVNma9">APIプラットフォーム</a> を訪問して、より大規模な商用ビデオ生成モデルを体験
|
||||
</p>
|
||||
|
||||
## 更新とニュース
|
||||
|
||||
- 🔥 **ニュース**: ``2024/8/6``: **CogVideoX-2B** で使用される **3D Causal VAE** もオープンソース化しました。これにより、ビデオをほぼ無損失で再構築できます。
|
||||
- 🔥 **ニュース**: ``2024/8/6``: **CogVideoX-2B**、CogVideoXシリーズのビデオ生成モデルの最初のモデルをオープンソース化しました。
|
||||
- 🌱 **ソース**: ```2022/5/19```: **CogVideo** (現在 `CogVideo` ブランチで確認できます) をオープンソース化しました。これは、最初のオープンソースの事前学習済みテキストからビデオ生成モデルであり、技術的な詳細については [ICLR'23 CogVideo 論文](https://arxiv.org/abs/2205.15868) をご覧ください。
|
||||
|
||||
**より強力なモデルが、より大きなパラメータサイズで登場予定です。お楽しみに!**
|
||||
|
||||
## クイックスタート
|
||||
|
||||
### SAT
|
||||
|
||||
[sat_demo](sat/README.md) の指示に従ってください: SATウェイトの推論コードと微調整コードが含まれています。CogVideoXモデル構造に基づいて改善することをお勧めします。革新的な研究者は、このコードを使用して迅速なスタッキングと開発を行うことができます。
|
||||
(推論には18GB、lora微調整には40GBが必要です)
|
||||
|
||||
### Diffusers
|
||||
|
||||
```
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
次に [diffusers_demo](inference/cli_demo.py) を参照してください: 推論コードの詳細な説明が含まれており、一般的なパラメータの意味についても言及しています。
|
||||
(推論には36GBが必要で、より小さなメモリと微調整コードは開発中です)
|
||||
|
||||
## CogVideoX-2B ギャラリー
|
||||
|
||||
<div align="center">
|
||||
<video src="https://github.com/user-attachments/assets/ea3af39a-3160-4999-90ec-2f7863c5b0e9" width="80%" controls autoplay></video>
|
||||
<p>詳細に彫刻されたマストと帆を持つ木製の玩具船が、海の波を模倣した豪華な青いカーペットの上を滑らかに進んでいます。船体は濃い茶色に塗られ、小さな窓が付いています。カーペットは柔らかく、テクスチャーがあり、海洋の広がりを連想させる完璧な背景を提供します。船の周りにはさまざまな他の玩具や子供のアイテムがあり、遊び心のある環境を示唆しています。このシーンは、子供時代の無邪気さと想像力を捉えており、玩具船の旅は室内の幻想的な設定での無限の冒険を象徴しています。</p>
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<video src="https://github.com/user-attachments/assets/9de41efd-d4d1-4095-aeda-246dd834e91d" width="80%" controls autoplay></video>
|
||||
<p>カメラは、黒いルーフラックを備えた白いビンテージSUVの後ろを追いかけ、急な山道をスピードアップして進みます。タイヤからほこりが舞い上がり、日光がSUVに当たり、暖かい輝きを放ちます。山道は緩やかに曲がり、他の車両は見当たりません。道の両側には赤杉の木が立ち並び、緑のパッチが点在しています。車は後ろから見て、険しい地形を楽々と進んでいるように見えます。山道自体は急な丘と山に囲まれ、上空には青い空と薄い雲が広がっています。</p>
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<video src="https://github.com/user-attachments/assets/941d6661-6a8d-4a1b-b912-59606f0b2841" width="80%" controls autoplay></video>
|
||||
<p>色とりどりのバンダナを巻いた、擦り切れたデニムジャケットを着たストリートアーティストが、広大なコンクリートの壁の前に立ち、スプレーペイント缶を持ち、斑点のある壁にカラフルな鳥をスプレーペイントしています。</p>
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<video src="https://github.com/user-attachments/assets/938529c4-91ae-4f60-b96b-3c3947fa63cb" width="80%" controls autoplay></video>
|
||||
<p>戦争で荒廃した都市の背景に、廃墟と崩れた壁が破壊の物語を語る中、若い少女の感動的なクローズアップがフレームに収められています。彼女の顔は灰で汚れており、周囲の混乱を静かに物語っています。彼女の目は悲しみと回復力の混じった輝きを放ち、紛争の荒廃によって無垢を失った世界の生の感情を捉えています。</p>
|
||||
</div>
|
||||
|
||||
## モデル紹介
|
||||
|
||||
CogVideoXは、[清影](https://chatglm.cn/video?fr=osm_cogvideox) と同源のオープンソース版ビデオ生成モデルです。
|
||||
|
||||
以下の表は、現在提供しているビデオ生成モデルのリストと関連する基本情報を示しています:
|
||||
|
||||
| モデル名 | CogVideoX-2B |
|
||||
|-------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| プロンプト言語 | 英語 |
|
||||
| 推論に必要なGPUメモリ (FP16) | [SAT](https://github.com/THUDM/SwissArmyTransformer) を使用する場合は18GB; diffusersを使用する場合は36GB (PRがマージされる前に最適化されます) |
|
||||
| 微調整に必要なGPUメモリ(bs=1) | 40GB |
|
||||
| プロンプトの最大長 | 226 トークン |
|
||||
| ビデオの長さ | 6秒 |
|
||||
| フレームレート | 8フレーム |
|
||||
| 解像度 | 720 * 480 |
|
||||
| 量子化推論 | サポートされていません |
|
||||
| マルチカード推論 | サポートされていません |
|
||||
| ダウンロードリンク (HF diffusers モデル) | 🤗 [Huggingface](https://huggingface.co/THUDM/CogVideoX-2B) [🤖 ModelScope](https://modelscope.cn/models/ZhipuAI/CogVideoX-2b) [💫 WiseModel](https://wisemodel.cn/models/ZhipuAI/CogVideoX-2b) |
|
||||
| ダウンロードリンク (SAT モデル) | [SAT](./sat/README.md) |
|
||||
|
||||
## プロジェクト構造
|
||||
|
||||
このオープンソースリポジトリは、**CogVideoX** オープンソースモデルの基本的な使用方法と微調整の例を迅速に開始するためのガイドです。
|
||||
|
||||
### 推論
|
||||
|
||||
+ [diffusers_demo](inference/cli_demo.py): 推論コードの詳細な説明が含まれており、一般的なパラメータの意味についても言及しています。
|
||||
+ [diffusers_vae_demo](inference/cli_vae_demo.py): VAE推論コードの実行には現在71GBのメモリが必要ですが、将来的には最適化される予定です。
|
||||
+ [convert_demo](inference/convert_demo.py): ユーザー入力をCogVideoXに適した形式に変換する方法。CogVideoXは長いキャプションでトレーニングされているため、入力テキストをLLMを使用してトレーニング分布と一致させる必要があります。デフォルトではGLM4を使用しますが、GPT、Geminiなどの他のLLMに置き換えることもできます。
|
||||
+ [gradio_demo](gradio_demo.py): CogVideoX-2Bモデルを使用してビデオを生成する方法を示すシンプルなgradio Web UI。
|
||||
|
||||
<div style="text-align: center;">
|
||||
<img src="resources/gradio_demo.png" style="width: 100%; height: auto;" />
|
||||
</div>
|
||||
|
||||
+ [web_demo](inference/web_demo.py): CogVideoX-2Bモデルを使用してビデオを生成する方法を示すシンプルなstreamlit Webアプリケーション。
|
||||
|
||||
<div style="text-align: center;">
|
||||
<img src="resources/web_demo.png" style="width: 100%; height: auto;" />
|
||||
</div>
|
||||
|
||||
### sat
|
||||
|
||||
+ [sat_demo](sat/README.md): SATウェイトの推論コードと微調整コードが含まれています。CogVideoXモデル構造に基づいて改善することをお勧めします。革新的な研究者は、このコードを使用して迅速なスタッキングと開発を行うことができます。
|
||||
|
||||
### ツール
|
||||
|
||||
このフォルダには、モデル変換/キャプション生成などのツールが含まれています。
|
||||
|
||||
+ [convert_weight_sat2hf](tools/convert_weight_sat2hf.py): SATモデルのウェイトをHuggingfaceモデルのウェイトに変換します。
|
||||
+ [caption_demo](tools/caption): キャプションツール、ビデオを理解し、テキストで出力するモデル。
|
||||
|
||||
## プロジェクト計画
|
||||
|
||||
- [x] CogVideoXモデルのオープンソース化
|
||||
- [x] CogVideoXで使用される3D Causal VAEのオープンソース化
|
||||
- [x] CogVideoXモデルの推論例 (CLI / Webデモ)
|
||||
- [x] CogVideoXオンライン体験デモ (Huggingface Space)
|
||||
- [x] CogVideoXオープンソースモデルAPIインターフェースの例 (Huggingface)
|
||||
- [x] CogVideoXモデルの微調整例 (SAT)
|
||||
- [ ] CogVideoXモデルの微調整例 (Huggingface / SAT)
|
||||
- [ ] CogVideoX-Proのオープンソース化 (CogVideoX-2Bスイートに適応)
|
||||
- [x] CogVideoX技術レポートの公開
|
||||
|
||||
私たちはあなたの貢献を歓迎します。詳細については[こちら](resources/contribute.md)をクリックしてください。
|
||||
|
||||
## モデルライセンス
|
||||
|
||||
このリポジトリのコードは [Apache 2.0 ライセンス](LICENSE) の下で公開されています。
|
||||
|
||||
モデルのウェイトと実装コードは [CogVideoX LICENSE](MODEL_LICENSE) の下で公開されています。
|
||||
|
||||
## CogVideo(ICLR'23)
|
||||
論文の公式リポジトリ: [CogVideo: Large-scale Pretraining for Text-to-Video Generation via Transformers](https://arxiv.org/abs/2205.15868) は [CogVideo branch](https://github.com/THUDM/CogVideo/tree/CogVideo) にあります。
|
||||
|
||||
**CogVideoは比較的高フレームレートのビデオを生成することができます。**
|
||||
32フレームの4秒間のクリップが以下に示されています。
|
||||
|
||||

|
||||
|
||||

|
||||
<div align="center">
|
||||
<video src="https://github.com/user-attachments/assets/2fa19651-e925-4a2a-b8d6-b3f216d490ba" width="80%" controls autoplay></video>
|
||||
</div>
|
||||
|
||||
|
||||
CogVideoのデモは [https://models.aminer.cn/cogvideo](https://models.aminer.cn/cogvideo/) で体験できます。*元の入力は中国語です。*
|
||||
|
||||
|
||||
## 引用
|
||||
|
||||
🌟 私たちの仕事が役立つと思われた場合、ぜひスターを付けていただき、論文を引用してください。
|
||||
|
||||
```
|
||||
@article{yang2024cogvideox,
|
||||
title={CogVideoX: Text-to-Video Diffusion Models with An Expert Transformer},
|
||||
author={Zhuoyi Yang and Jiayan Teng and Wendi Zheng and Ming Ding and Shiyu Huang and JiaZheng Xu and Yuanming Yang and Xiaohan Zhang and Xiaotao Gu and Guanyu Feng and Da Yin and Wenyi Hong and Weihan Wang and Yean Cheng and Yuxuan Zhang and Ting Liu and Bin Xu and Yuxiao Dong and Jie Tang},
|
||||
year={2024},
|
||||
}
|
||||
@article{hong2022cogvideo,
|
||||
title={CogVideo: Large-scale Pretraining for Text-to-Video Generation via Transformers},
|
||||
author={Hong, Wenyi and Ding, Ming and Zheng, Wendi and Liu, Xinghan and Tang, Jie},
|
||||
journal={arXiv preprint arXiv:2205.15868},
|
||||
year={2022}
|
||||
}
|
||||
```
|
||||
@ -1,6 +1,7 @@
|
||||
# CogVideo && CogVideoX
|
||||
|
||||
[Read this in English.](./README_zh)
|
||||
[日本語で読む](./README_ja.md)
|
||||
|
||||
|
||||
<div align="center">
|
||||
@ -168,4 +169,4 @@ CogVideo的demo网站在[https://models.aminer.cn/cogvideo](https://models.amine
|
||||
journal={arXiv preprint arXiv:2205.15868},
|
||||
year={2022}
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
188
sat/README_ja.md
Normal file
188
sat/README_ja.md
Normal file
@ -0,0 +1,188 @@
|
||||
# SAT CogVideoX-2B
|
||||
|
||||
このフォルダには、[SAT](https://github.com/THUDM/SwissArmyTransformer) ウェイトを使用した推論コードと、SAT ウェイトの微調整コードが含まれています。
|
||||
|
||||
このコードは、チームがモデルをトレーニングするために使用したフレームワークです。コメントが少なく、注意深く研究する必要があります。
|
||||
|
||||
## 推論モデル
|
||||
|
||||
1. このフォルダに必要な依存関係が正しくインストールされていることを確認してください。
|
||||
|
||||
```shell
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
2. モデルウェイトをダウンロードします
|
||||
|
||||
まず、SAT ミラーにアクセスして依存関係をダウンロードします。
|
||||
|
||||
```shell
|
||||
mkdir CogVideoX-2b-sat
|
||||
cd CogVideoX-2b-sat
|
||||
wget https://cloud.tsinghua.edu.cn/f/fdba7608a49c463ba754/?dl=1
|
||||
mv 'index.html?dl=1' vae.zip
|
||||
unzip vae.zip
|
||||
wget https://cloud.tsinghua.edu.cn/f/556a3e1329e74f1bac45/?dl=1
|
||||
mv 'index.html?dl=1' transformer.zip
|
||||
unzip transformer.zip
|
||||
```
|
||||
|
||||
次に解凍し、モデル構造は次のようになります:
|
||||
|
||||
```
|
||||
.
|
||||
├── transformer
|
||||
│ ├── 1000
|
||||
│ │ └── mp_rank_00_model_states.pt
|
||||
│ └── latest
|
||||
└── vae
|
||||
└── 3d-vae.pt
|
||||
```
|
||||
|
||||
次に、T5 モデルをクローンします。これはトレーニングや微調整には使用されませんが、必ず使用する必要があります。
|
||||
|
||||
```shell
|
||||
git lfs install
|
||||
git clone https://huggingface.co/google/t5-v1_1-xxl.git
|
||||
```
|
||||
|
||||
**tf_model.h5** ファイルは不要です。このファイルは削除できます。
|
||||
|
||||
3. `configs/cogvideox_2b_infer.yaml` ファイルを修正します。
|
||||
|
||||
```yaml
|
||||
load: "{your_CogVideoX-2b-sat_path}/transformer" ## Transformer モデルパス
|
||||
|
||||
conditioner_config:
|
||||
target: sgm.modules.GeneralConditioner
|
||||
params:
|
||||
emb_models:
|
||||
- is_trainable: false
|
||||
input_key: txt
|
||||
ucg_rate: 0.1
|
||||
target: sgm.modules.encoders.modules.FrozenT5Embedder
|
||||
params:
|
||||
model_dir: "google/t5-v1_1-xxl" ## T5 モデルパス
|
||||
max_length: 226
|
||||
|
||||
first_stage_config:
|
||||
target: sgm.models.autoencoder.VideoAutoencoderInferenceWrapper
|
||||
params:
|
||||
cp_size: 1
|
||||
ckpt_path: "{your_CogVideoX-2b-sat_path}/vae/3d-vae.pt" ## VAE モデルパス
|
||||
```
|
||||
|
||||
+ 複数のプロンプトを保存するために txt を使用する場合は、`configs/test.txt` を参照して修正してください。1行に1つのプロンプトを記述します。プロンプトの書き方がわからない場合は、最初に [このコード](../inference/convert_demo.py) を使用して LLM によるリファインメントを呼び出すことができます。
|
||||
+ コマンドラインを入力として使用する場合は、次のように修正します。
|
||||
|
||||
```yaml
|
||||
input_type: cli
|
||||
```
|
||||
|
||||
これにより、コマンドラインからプロンプトを入力できます。
|
||||
|
||||
出力ビデオのディレクトリを変更したい場合は、次のように修正できます:
|
||||
|
||||
```yaml
|
||||
output_dir: outputs/
|
||||
```
|
||||
|
||||
デフォルトでは `.outputs/` フォルダに保存されます。
|
||||
|
||||
4. 推論コードを実行して推論を開始します
|
||||
|
||||
```shell
|
||||
bash inference.sh
|
||||
```
|
||||
|
||||
## モデルの微調整
|
||||
|
||||
### 環境の準備
|
||||
|
||||
```
|
||||
git clone https://github.com/THUDM/SwissArmyTransformer.git
|
||||
cd SwissArmyTransformer
|
||||
pip install -e .
|
||||
```
|
||||
|
||||
### データセットの準備
|
||||
|
||||
データセットの形式は次のようにする必要があります:
|
||||
|
||||
```
|
||||
.
|
||||
├── labels
|
||||
│ ├── 1.txt
|
||||
│ ├── 2.txt
|
||||
│ ├── ...
|
||||
└── videos
|
||||
├── 1.mp4
|
||||
├── 2.mp4
|
||||
├── ...
|
||||
```
|
||||
|
||||
各 txt ファイルは対応するビデオファイルと同じ名前であり、そのビデオのラベルを含んでいます。各ビデオはラベルと一対一で対応する必要があります。通常、1つのビデオに複数のラベルを持たせることはありません。
|
||||
|
||||
スタイル微調整の場合、少なくとも50本のスタイルが似たビデオとラベルを準備して、フィッティングを容易にしてください。
|
||||
|
||||
### 設定ファイルの修正
|
||||
|
||||
`Lora` と 全パラメータ微調整の2つの方法をサポートしています。両方の微調整方法は `transformer` 部分にのみ適用されることに注意してください。`VAE` 部分は変更されません。`T5` はエンコーダーとしてのみ使用されます。
|
||||
|
||||
`configs/cogvideox_2b_sft.yaml` (全パラメータ微調整用) を次のように修正します。
|
||||
|
||||
```yaml
|
||||
# checkpoint_activations: True ## グラデーションチェックポイントの使用 (設定ファイル内の2つのcheckpoint_activationsを両方ともTrueに設定する必要があります)
|
||||
model_parallel_size: 1 # モデル並列サイズ
|
||||
experiment_name: lora-disney # 実験名 (変更しないでください)
|
||||
mode: finetune # モード (変更しないでください)
|
||||
load: "{your_CogVideoX-2b-sat_path}/transformer" # Transformer モデルパス
|
||||
no_load_rng: True # ランダムシードをロードするかどうか
|
||||
train_iters: 1000 # トレーニングイテレーション数
|
||||
eval_iters: 1 # 評価イテレーション数
|
||||
eval_interval: 100 # 評価間隔
|
||||
eval_batch_size: 1 # 評価用バッチサイズ
|
||||
save: ckpts # モデル保存パス
|
||||
save_interval: 100 # モデル保存間隔
|
||||
log_interval: 20 # ログ出力間隔
|
||||
train_data: [ "your train data path" ]
|
||||
valid_data: [ "your val data path" ] # トレーニングセットと検証セットは同じでもかまいません
|
||||
split: 1,0,0 # トレーニングセット、検証セット、テストセットの比率
|
||||
num_workers: 8 # データローダーのワーカースレッド数
|
||||
force_train: True # ckptをロードする際にmissing keysを許可するかどうか (T5 と VAE は個別にロードされます)
|
||||
only_log_video_latents: True # メモリを節約するために評価時にVAEデコーダーを使用しない
|
||||
```
|
||||
|
||||
Lora 微調整を使用する場合は、次のように修正する必要があります:
|
||||
|
||||
```yaml
|
||||
model:
|
||||
scale_factor: 1.15258426
|
||||
disable_first_stage_autocast: true
|
||||
not_trainable_prefixes: [ 'all' ] ## コメントを解除
|
||||
log_keys:
|
||||
- txt'
|
||||
|
||||
lora_config: ## コメントを解除
|
||||
target: sat.model.finetune.lora2.LoraMixin
|
||||
params:
|
||||
r: 256
|
||||
```
|
||||
|
||||
### 微調整と検証
|
||||
|
||||
1. 推論コードを実行して微調整を開始します。
|
||||
|
||||
```shell
|
||||
bash finetune.sh
|
||||
```
|
||||
|
||||
### Huggingface Diffusers サポートのウェイトに変換
|
||||
|
||||
SAT ウェイト形式は Huggingface のウェイト形式とは異なり、変換が必要です。次を実行してください:
|
||||
|
||||
```shell
|
||||
python ../tools/convert_weight_sat2hf.py
|
||||
```
|
||||
|
||||
**注意**:この内容は LORA 微調整モデルではまだテストされていません。
|
||||
16
tools/caption/README_ja.md
Normal file
16
tools/caption/README_ja.md
Normal file
@ -0,0 +1,16 @@
|
||||
# ビデオキャプション
|
||||
|
||||
通常、ほとんどのビデオデータには対応する説明文が付いていないため、ビデオデータをテキストの説明に変換して、テキストからビデオへのモデルに必要なトレーニングデータを提供する必要があります。
|
||||
|
||||
## CogVLM2-Video を使用したビデオキャプション
|
||||
|
||||
<p align="center">
|
||||
🤗 <a href="https://huggingface.co/THUDM/cogvlm2-video-llama3-chat">Hugging Face</a>   |   🤖 <a href="https://modelscope.cn/models/ZhipuAI/cogvlm2-video-llama3-chat">ModelScope</a>   |    📑 <a href="https://cogvlm2-video.github.io/">ブログ</a>    | <a href="http://cogvlm2-online.cogviewai.cn:7868/">💬 オンラインデモ</a>  
|
||||
</p>
|
||||
|
||||
CogVLM2-Video は、タイムスタンプベースの質問応答機能を備えた多機能なビデオ理解モデルです。ユーザーは `このビデオを詳細に説明してください。` などのプロンプトをモデルに入力して、詳細なビデオキャプションを取得できます:
|
||||
<div align="center">
|
||||
<a href="https://cogvlm2-video.github.io/"><img width="600px" height="auto" src="./assests/cogvlm2-video-example.png"></a>
|
||||
</div>
|
||||
|
||||
ユーザーは提供された[コード](https://github.com/THUDM/CogVLM2/tree/main/video_demo)を使用してモデルをロードするか、RESTful API を構成してビデオキャプションを生成できます。
|
||||
Loading…
x
Reference in New Issue
Block a user