🚀 AltCLIP
このモデルは、より優れたバイリンガルCLIPモデルを訓練するためのシンプルで効率的な方法を提供します。AltCLIPは、Stable Diffusiosnをベースに訓練され、WuDaoデータセットとLIAONのデータを使用しています。
名称 Name |
タスク Task |
言語 Language(s) |
モデル Model |
Github |
AltCLIP |
text-image representation |
中英文 Chinese&English |
CLIP |
FlagAI |
✨ 主な機能
概要
我々は、より優れたバイリンガルCLIPモデルを訓練するためのシンプルで効率的な方法を提案し、それをAltCLIPと名付けました。AltCLIPは Stable Diffusiosn をベースに訓練されており、訓練データは WuDaoデータセット と LIAON から取得されています。
AltCLIPモデルは、本プロジェクトのAltDiffusionモデルをサポートすることができます。AltDiffusionモデルの詳細については、このチュートリアル を参照してください。
モデルコードは FlagAI でオープンソース化されており、重みは modelhub にあります。また、微調整、推論、検証のスクリプトも提供しているので、ぜひ試してみてください。
引用
AltCLIPに関する詳細は、関連レポートを参照してください。もしこの研究があなたの作業に役立つ場合は、以下のように引用してください。
@article{https://doi.org/10.48550/arxiv.2211.06679,
doi = {10.48550/ARXIV.2211.06679},
url = {https://arxiv.org/abs/2211.06679},
author = {Chen, Zhongzhi and Liu, Guang and Zhang, Bo-Wen and Ye, Fulong and Yang, Qinghong and Wu, Ledell},
keywords = {Computation and Language (cs.CL), FOS: Computer and information sciences},
title = {AltCLIP: Altering the Language Encoder in CLIP for Extended Language Capabilities},
publisher = {arXiv},
year = {2022},
copyright = {arXiv.org perpetual, non-exclusive license}
}
訓練
訓練には2つのフェーズがあります。
平行知識蒸留フェーズでは、平行コーパスのテキストのみを使用して蒸留を行います(平行コーパスは、画像テキストペアよりも取得が容易で、数も多いです)。バイリンガル比較学習フェーズでは、少数の中国語 - 英語の画像 - テキストペア(合計約200万)を使用して、テキストエンコーダを画像エンコーダにより適合させます。
下流性能
言語 |
方法 |
Text-to-Image Retrival (R@1) |
Text-to-Image Retrival (R@5) |
Text-to-Image Retrival (R@10) |
Image-to-Text Retrival (R@1) |
Image-to-Text Retrival (R@5) |
Image-to-Text Retrival (R@10) |
MR |
English |
CLIP |
65.0 |
87.1 |
92.2 |
85.1 |
97.3 |
99.2 |
87.6 |
English |
Taiyi |
25.3 |
48.2 |
59.2 |
39.3 |
68.1 |
79.6 |
53.3 |
English |
Wukong |
- |
- |
- |
- |
- |
- |
- |
English |
R2D2 |
- |
- |
- |
- |
- |
- |
- |
English |
CN-CLIP |
49.5 |
76.9 |
83.8 |
66.5 |
91.2 |
96.0 |
77.3 |
English |
AltCLIP |
66.3 |
87.8 |
92.7 |
85.9 |
97.7 |
99.1 |
88.3 |
English |
AltCLIP∗ |
72.5 |
91.6 |
95.4 |
86.0 |
98.0 |
99.1 |
90.4 |
Chinese |
CLIP |
0.0 |
2.4 |
4.0 |
2.3 |
8.1 |
12.6 |
5.0 |
Chinese |
Taiyi |
53.7 |
79.8 |
86.6 |
63.8 |
90.5 |
95.9 |
78.4 |
Chinese |
Wukong |
51.7 |
78.9 |
86.3 |
76.1 |
94.8 |
97.5 |
80.9 |
Chinese |
R2D2 |
60.9 |
86.8 |
92.7 |
77.6 |
96.7 |
98.9 |
85.6 |
Chinese |
CN-CLIP |
68.0 |
89.7 |
94.4 |
80.2 |
96.6 |
98.2 |
87.9 |
Chinese |
AltCLIP |
63.7 |
86.3 |
92.1 |
84.7 |
97.4 |
98.7 |
87.2 |
Chinese |
AltCLIP∗ |
69.8 |
89.9 |
94.7 |
84.8 |
97.4 |
98.8 |
89.2 |

可視化結果
AltCLIPをベースに、AltDiffusionモデルも開発しています。可視化結果は以下の通りです。

💻 使用例
基本的な使用法
from PIL import Image
import requests
from modeling_altclip import AltCLIP
from processing_altclip import AltCLIPProcessor
model = AltCLIP.from_pretrained("BAAI/AltCLIP")
processor = AltCLIPProcessor.from_pretrained("BAAI/AltCLIP")
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
inputs = processor(text=["a photo of a cat", "a photo of a dog"], images=image, return_tensors="pt", padding=True)
outputs = model(**inputs)
logits_per_image = outputs.logits_per_image
probs = logits_per_image.softmax(dim=1)
📄 ライセンス
このモデルは、CreativeML OpenRAIL-Mライセンスの下で公開されています。詳細は こちら を参照してください。
⚠️ 重要提示
このモデルを取得する前に、もう1つの手順があります。このモデルはオープンアクセスであり、すべての人が利用できますが、CreativeML OpenRAIL-Mライセンスによって、権利と使用方法がさらに明確に規定されています。
- このモデルを使用して、違法または有害な出力やコンテンツを意図的に生成または共有することはできません。
- BAAIは、あなたが生成した出力に対する権利を主張しません。あなたは自由にそれらを使用できますが、その使用については、ライセンスに定められた規定に違反しないように責任を負う必要があります。
- あなたは、重みを再配布し、モデルを商用および/またはサービスとして使用することができます。その場合、ライセンスに記載されている同じ使用制限を含め、CreativeML OpenRAIL-Mのコピーをすべてのユーザーに共有する必要があります(ライセンス全体を注意深く読んでください)。
以下の「アクセスリポジトリ」をクリックすることで、あなたの連絡先情報(メールアドレスとユーザー名)がモデルの作成者と共有されることに同意するものとみなされます。
💡 使用建议
コードは FlagAI AltCLIP からダウンロードしてください。