stormtrooper
v1.0.0

ドキュメント
Trooper真新しいTrooperインターフェイスを使用すると、使用するモデルタイプを指定する必要がありません。 StormTrooperは、指定された名前からモデルタイプを自動的に検出します。
from stormtrooper import Trooper
# This loads a setfit model
model = Trooper ( "all-MiniLM-L6-v2" )
# This loads an OpenAI model
model = Trooper ( "gpt-4" )
# This loads a Text2Text model
model = Trooper ( "google/flan-t5-base" )モデルを初期化するときに、モデルが少数であるかゼロショット分類器であるかを指定する必要はなくなりました。トレーニングの例に合格しない場合、モデルがゼロショットである必要があると自動的に想定されます。
# This is a zero-shot model
model . fit ( None , [ "dog" , "cat" ])
# This is a few-shot model
model . fit ([ "he was a good boy" , "just lay down on my laptop" ], [ "dog" , "cat" ])StormTrooperでは、あらゆる種類の変圧器モデルを使用して、ゼロショット分類を使用できます。
Trooper("HuggingFaceH4/zephyr-7b-beta")Trooper("all-MiniLM-L6-v2")Trooper("google/flan-t5-base")Trooper("gpt-4")Trooper("facebook/bart-large-mnli") ドキュメントで詳細をご覧ください。
pip install stormtrooper from stormtrooper import Trooper
class_labels = [ "atheism/christianity" , "astronomy/space" ]
example_texts = [
"God came down to earth to save us." ,
"A new nebula was recently discovered in the proximity of the Oort cloud."
]
new_texts = [ "God bless the reailway workers" , "The frigate is ready to launch from the spaceport" ]
# Zero-shot classification
model = Trooper ( "google/flan-t5-base" )
model . fit ( None , class_labels )
model . predict ( new_texts )
# ["atheism/christianity", "astronomy/space"]
# Few-shot classification
model = Trooper ( "google/flan-t5-base" )
model . fit ( example_texts , class_labels )
model . predict ( new_texts )
# ["atheism/christianity", "astronomy/space"]デフォルトで生成およびtext2textモデルは、最も近いクラスラベルに一致する結果をファジーにします。Fuzzy_match fuzzy_match=Falseを指定することでこの動作を無効にできます。
ファジーマッチングスピードアップが必要な場合は、 python-Levenshteinをインストールする必要があります。
バージョン0.2.2から、GPUでモデルを実行できます。モデルを初期化するときにデバイスを指定できます。
classifier = Trooper ( "all-MiniLM-L6-v2" , device = "cuda:0" )device_map引数を使用して、デバイスの優先度GPU -> CPU + Ram -> Diskおよび複数のデバイスで複数のデバイスでモデルを実行できます。これは、Text2Textおよび生成モデルでのみ機能することに注意してください。
model = Trooper("HuggingFaceH4/zephyr-7b-beta", device_map="auto")