BAGELはByteDance Seedチームによって開発され、GitHubでホストされているオープンソースのマルチモーダルベースモデルで、テキスト理解、画像生成、編集機能を統合し、クロスモーダルなタスクをサポートします。このモデルは、7Bのアクティブパラメータ(合計14Bのパラメータのうち)を持ち、Mixture-of-Transformer-Experts(MoT)アーキテクチャを使用して、大規模なインターリーブされたマルチモーダルデータで学習されます。 クウェン2.5-VL 自由形式の画像編集、ビデオシーケンス生成、3D空間理解などの高度な機能をサポートしており、AIアプリケーションを探求する開発者や研究者に適しています。このプロジェクトでは、ユーザーがすぐに使い始められるように、詳細なインストールガイドと推論ガイドを提供しています。
機能一覧
- テキストから画像への変換をサポートしており、テキストプロンプトに基づいて高品質の画像を生成できます。
- 画像の内容を分析し、関連する質問に答えることができる画像理解機能を提供します。
- 自由形式の画像編集をサポートし、テキストコマンドで画像の詳細を変更できます。
- ビデオシーケンスの生成が可能になり、テキストに基づいて動的なビデオコンテンツを生成できる。
- 複雑なタスクのためにテキスト、画像、ビデオデータを融合するマルチモーダル推論機能を提供。
- マルチビュー合成とワールドナビゲーションタスクのための3D空間理解をサポートします。
- 視覚言語モデリング(VLM)、テキスト画像変換(T2I)、画像編集ベンチマークの評価スクリプトを提供します。
- オープンソースのコードと、ユーザー定義のトレーニングと微調整を可能にするモデルの重み。
ヘルプの使用
設置プロセス
BAGELを使用するには、ローカル環境に関連する依存関係をインストールし、設定する必要があります。以下に詳細なインストール手順を示します:
- クローン倉庫
Gitを使ってBAGELプロジェクトをローカルにクローンする:git clone https://github.com/bytedance-seed/BAGEL.git cd BAGEL
- 仮想環境の構築
CondaでPython 3.10の環境を作成し、アクティベートする:conda create -n bagel python=3.10 -y conda activate bagel
- 依存関係のインストール
プロジェクト・ディレクトリで以下のコマンドを実行して、必要なPythonライブラリをインストールする:pip install -r requirements.txt
- モデルウェイトのダウンロード
BAGELのモデルウェイトはHugging Faceでホストされている。以下のPythonスクリプトを実行してモデルをダウンロードしてください:from huggingface_hub import snapshot_download save_dir = "/path/to/save/BAGEL-7B-MoT" repo_id = "ByteDance-Seed/BAGEL-7B-MoT" cache_dir = save_dir + "/cache" snapshot_download( cache_dir=cache_dir, local_dir=save_dir, repo_id=repo_id, local_dir_use_symlinks=False, resume_download=True, allow_patterns=["*.json", "*.safetensors", "*.bin", "*.py", "*.md", "*.txt"] )
そうしれいかん
/path/to/save/BAGEL-7B-MoT
モデルを保存するローカルパスに置き換えてください。 - インストールの確認
インストールが完了したら、プロジェクトのinference.ipynb
ファイルを開き、ノートブックのガイドラインに従ってサンプル・コードを実行し、モデルが正しくロードされることを確認してください。
使用方法
BAGELのコア機能は、Jupyter NotebookまたはPythonスクリプトによって呼び出されます。以下は主な機能の詳細な流れである:
1.テキストから画像への変換
BAGELは、テキストプロンプトからの画像生成をサポートしています。例えば inference.ipynb
モデルを読み込んだら、以下のコードを入力する:
prompt = "一张夕阳下的海滩,椰树摇曳,浪花拍岸"
image = model.generate_image(prompt)
image.save("output/beach_sunset.png")
- 手続き::
- モデルがロードされていることを確認してください。
- ノートブックにテキストプロンプトを入力する。
- 生成コードを実行すると、モデルが画像を出力し、指定したパスに保存します。
- 出力画像の品質と内容がプロンプトに準拠しているかをチェックする。
2.画像理解
BAGELは画像を分析し、関連する質問に答えることができます。例えば、画像をアップロードして質問をする:
image_path = "sample_image.jpg"
question = "图片中的主要物体是什么?"
answer = model.analyze_image(image_path, question)
print(answer)
- 手続き::
- 画像を用意し、パスを指定する。
- 質問を入力し、コードを実行する。
- このモデルは、画像の内容に基づいてレスポンスを返す。例えば、「写真の主な対象は猫です」。
3.画像編集
BAGELは、テキストコマンドによる画像の編集をサポートしています。例えば、画像の背景を森に置き換えることができます:
image_path = "input_image.jpg"
instruction = "将背景替换为郁郁葱葱的森林"
edited_image = model.edit_image(image_path, instruction)
edited_image.save("output/edited_forest.png")
- 手続き::
- 編集する画像をアップロードします。
- 具体的な編集指示を入力します。
- コードを実行し、出力画像が要件を満たしているかどうかを確認します。
- 注:現在の画像編集ではシャープネスが失われる可能性がありますが、効果はまだ最適化されています。
4.ビデオシーケンス生成
BAGELはテキストベースのビデオシーケンス生成をサポートします。例
prompt = "一只猫在草地上追逐蝴蝶"
video = model.generate_video(prompt)
video.save("output/cat_chasing_butterfly.mp4")
- 手続き::
- ビデオ生成プロンプトに入る。
- 生成されたコードを実行すると、モデルは短いビデオシーケンスを出力する。
- 動画の内容が説明文と一致しているか確認する。
5.モデルの性能評価
BAGELは、視覚言語理解、画像生成、編集タスクにおけるモデルの性能をテストするための評価スクリプトを提供します。評価を実行する
cd EVAL
python run_benchmarks.py
- 手続き::
- 入る
EVAL
カタログ - 評価スクリプトを実行して、標準的なベンチマークテストでモデルがどのように動作するかを確認します。
- 結果はターミナルに表示されるか、ログファイルとして保存される。
- 入る
ほら
- ハードウェアサポートの確認:BAGELはGPUアクセラレーションを必要とするため、少なくとも16GBのビデオメモリを搭載したNVIDIA GPUを推奨します。
- ネットワーク接続の確認:モデルの重みをダウンロードするには、安定したネットワークが必要です。
- 参考資料:プロジェクト
README.md
歌で応えるinference.ipynb
詳細なコード例とパラメータの説明があります。 - コミュニティサポート: 質問については、GitHub Issuesページでissueを送信するか、Hugging Faceのディスカッションを参照してください。[](https://github.com/ByteDance-Seed/Bagel)
アプリケーションシナリオ
- コンテンツ制作
BAGELは、ブロググラフィック、ソーシャルメディアコンテンツ、ビデオクリップの生成に使用できます。クリエイターがテキストで説明文を入力すると、テーマに合った画像や短い動画が素早く生成され、デザイン時間を節約できます。 - 教育・研究
研究者はBAGELを使って、テキストが画像と相互作用する能力をテストするマルチモーダルAI実験を行うことができます。学生はオープンソースコードを通じてAIモデルの開発と展開について学ぶことができます。 - 製品プロトタイピング
開発者は、インテリジェントな画像編集ツールや、迅速な製品プロトタイピングのためのテキストベースのビデオ生成アプリケーションなど、BAGELをベースとしたインタラクティブなアプリケーションを構築することができます。 - ゲーム開発
BAGELの3D空間理解と画像生成機能は、ゲームシーンや動的素材の生成に使用でき、開発コストを削減します。
品質保証
- BAGELはどの言語に対応していますか?
BAGELは主に英語と中国語のテキスト入出力をサポートしている。他の言語のサポートは、学習データの制限のため、あまり効果的でないかもしれません。 - 必要なコンピューティング・リソースは?
BAGELを実行するには、少なくとも16GBのビデオメモリを搭載したGPUの使用を推奨します。 - コードを提供したり、モデルを改良するにはどうすればよいですか?
プルリクエストはGitHubリポジトリで提出できる。トレーニングや微調整のドキュメントは近日中にリリースされる予定。README.md
最新情報を入手する - 画像生成のクオリティは?
BAGELの画像生成の質はSD3に近いが、複雑なシーンや高解像度ではさらなる最適化が必要かもしれない。