このレポでは、LORAメソッドを使用したトルコ語用のOpenaiのクリップモデルをFinetuneします。クリップの詳細情報を取得するには、他のリポジトリをチェックアウトできます。
Flicker8データセットはトレーニングに使用されます。トルコのキャプションでは、Tasviret Datasetが使用されています。これは、トルコFlicker8キャプションのデータセットです。
ノートブックは、必要ではありませんが、colabで実行することを意図しています。必要なライブラリのインストールは、コラブで実行するためにノートブックで行われます。
低ランクの適応は、微調整モデルのテクニックです。すべての層を微調整する代わりに、一部のレイヤーが選択され、微調ューされます。元のウェイトを変更する代わりに、通常の微調整と比較して、初期重量と微調合された重量の違いは保存されて保存されます。また、重みを保存するマトリックスは、モデルの重みのサイズを縮小し、初期および触知されたモデルが類似していることを保証する2つのマトリックスに分解されます。これは、モデルがカタストロピックの忘却からはるかに保護されることを意味します。これらはすべて、すべてのモデルサイズを超えています。したがって、Finetunedバージョン全体の重量を節約する代わりに、違いの重量(または言い換えれば、Lora重量)を節約できます。これにより、各微細なバージョンに大きなモデルを保存する代わりに、単一の大きなベースモデルと複数の小さなロラ重量を持つことができます。
lora_clip_training_tasviret-> loraを使用したクリップのフィニティングコード
推論 - > LORAモデルをロードして使用する方法を示します。トルコ語と英語の両方で、オリジナルとロラの微調整されたクリップモデルのパフォーマンスを比較します。
モデルをHuggingfaceにアップロードしました。モデルは、以下の例のように使用できます。
from PIL import Image
from transformers import CLIPProcessor , CLIPModel
model = CLIPModel . from_pretrained ( "openai/clip-vit-base-patch32" )
model . load_adapter ( "kesimeg/lora-turkish-clip" ) # model can be found on Huggingface ?
model . eval ()
processor = CLIPProcessor . from_pretrained ( "openai/clip-vit-base-patch32" )
img = Image . open ( "dog.png" ) # A dog image
inputs = processor ( text = [ "Çimenler içinde bir köpek." , "Bir köpek." , "Çimenler içinde bir kuş." ], images = img , return_tensors = "pt" , padding = True )
outputs = model ( ** inputs )
logits_per_image = outputs . logits_per_image
probs = logits_per_image . softmax ( dim = 1 )
print ( probs )
このレポのこの目標は、トルコ語用の良いクリップモデルを取得するのではなく、Loraを使用してクリップを使用する方法を示すことです。増強を追加することでパフォーマンスを向上させ、より良いメトリックでパフォーマンスを測定することができます。また、Distilbertなどのトルコのデータで前提とされたモデルにテキストエンコーダーを置き換えることもできます。 (これについて私の他のレポを確認できます)
このプロジェクトを作成するために使用した以下の情報源に感謝したいと思います。
PEFTライブラリを使用してLORAを使用した画像分類器のFinetuning:https://github.com/huggingface/peft/tree/main/examples/image_classifigition
PEFTライブラリチュートリアル:https://huggingface.co/docs/transformers/main/en/peft
オリジナルロラペーパー:https://arxiv.org/abs/2106.09685
Tasviret(Turkish Flicker8キャプション):https://www.kaggle.com/datasets/begum302553/tasviret-flickr8k-turkish
Tasviret Paper:https://ieeexplore.ieee.org/document/7496155
オリジナルクリップペーパー:https://arxiv.org/abs/2103.00020