pip install refuel-autolabel
https://docs.refuel.ai/
يعد الوصول إلى مجموعات البيانات الكبيرة والنظيفة والمتنوعة مكونًا مهمًا لأي جهد في التعلم الآلي ليكون ناجحًا. تتمكن LLMs الحديثة مثل GPT-4 من تسمية البيانات تلقائيًا بدقة عالية ، وفي جزء صغير من التكلفة والوقت مقارنة بالوسم اليدوي.
Autolabel هي مكتبة Python لتسمية مجموعات البيانات النصية وتنظيفها وإثراءها مع أي نماذج لغة كبيرة (LLM) من اختيارك.
تحقق من تقريرنا الفني لمعرفة المزيد عن أداء Refuelllm-V2 على معيارنا. يمكنك تكرار المعيار بنفسك باتباع الخطوات أدناه
cd autolabel / benchmark
curl https : // autolabel - benchmarking . s3 . us - west - 2. amazonaws . com / data . zip - o data . zip
unzip data . zip
python benchmark . py - - model $ model - - base_dir benchmark - results
python results . py - - eval_dir benchmark - results
cat results . csv
يمكنك قياس النموذج ذي الصلة من خلال استبدال طراز $ باسم النموذج اللازم ليتم تحديده. إذا كان طراز API مستضافة مثل gpt-3.5-turbo
و gpt-4-1106-preview
أو claude-3-opus-20240229
أو gemini-1.5-pro-preview-0409
أو نموذج آخر مدعوم من Autolabel ، فقط اكتب اسم النموذج. إذا كان النموذج المطلوب القياسي هو نموذج مدعوم VLLM ، فقم بتمرير المسار المحلي أو مسار Huggingface المقابل للنموذج. سيؤدي ذلك إلى تشغيل المعيار مع نفس المطالبات لجميع الطرز.
سوف تحتوي results.csv
على صف مع كل طراز تم قياسه كصف. انظر إلى benchmark/results.csv
على سبيل المثال.
يوفر Autolabel عملية بسيطة من 3 خطوات لوضع العلامات:
دعونا نتخيل أننا نبني نموذج ML لتحليل تحليل المشاعر لمراجعة الأفلام. لدينا مجموعة بيانات من مراجعات الأفلام التي نود الحصول عليها أولاً. في هذه الحالة ، إليك ما ستبدو مجموعة بيانات مثال وتكويناتها:
{
"task_name" : "MovieSentimentReview" ,
"task_type" : "classification" ,
"model" : {
"provider" : "openai" ,
"name" : "gpt-3.5-turbo"
},
"dataset" : {
"label_column" : "label" ,
"delimiter" : ","
},
"prompt" : {
"task_guidelines" : "You are an expert at analyzing the sentiment of movie reviews. Your job is to classify the provided movie review into one of the following labels: {labels}" ,
"labels" : [
"positive" ,
"negative" ,
"neutral"
],
"few_shot_examples" : [
{
"example" : "I got a fairly uninspired stupid film about how human industry is bad for nature." ,
"label" : "negative"
},
{
"example" : "I loved this movie. I found it very heart warming to see Adam West, Burt Ward, Frank Gorshin, and Julie Newmar together again." ,
"label" : "positive"
},
{
"example" : "This movie will be played next week at the Chinese theater." ,
"label" : "neutral"
}
],
"example_template" : "Input: {example} n Output: {label}"
}
}
تهيئة وكيل وضع العلامات ومرره التكوين:
from autolabel import LabelingAgent , AutolabelDataset
agent = LabelingAgent ( config = 'config.json' )
معاينة مثال مثال سيتم إرساله إلى LLM:
ds = AutolabelDataset ( 'dataset.csv' , config = config )
agent . plan ( ds )
هذه المطبوعات:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100/100 0:00:00 0:00:00
┌──────────────────────────┬─────────┐
│ Total Estimated Cost │ $0.538 │
│ Number of Examples │ 200 │
│ Average cost per example │ 0.00269 │
└──────────────────────────┴─────────┘
─────────────────────────────────────────
Prompt Example:
You are an expert at analyzing the sentiment of movie reviews. Your job is to classify the provided movie review into one of the following labels: [positive, negative, neutral]
Some examples with their output answers are provided below:
Example: I got a fairly uninspired stupid film about how human industry is bad for nature.
Output:
negative
Example: I loved this movie. I found it very heart warming to see Adam West, Burt Ward, Frank Gorshin, and Julie Newmar together again.
Output:
positive
Example: This movie will be played next week at the Chinese theater.
Output:
neutral
Now I want you to label the following example:
Input: A rare exception to the rule that great literature makes disappointing films.
Output:
─────────────────────────────────────────────────────────────────────────────────────────
أخيرًا ، يمكننا تشغيل وضع العلامات على مجموعة فرعية أو كاملة من مجموعة البيانات:
ds = agent . run ( ds )
يحتوي DataFrame الإخراج على عمود التسمية:
ds . df . head ()
text ... MovieSentimentReview_llm_label
0 I was very excited about seeing this film , ant ... ... negative
1 Serum is about a crazy doctor that finds a ser ... ... negative
4 I loved this movie . I knew it would be chocked ... ... positive
...
توفر التزود بالوقود إمكانية الوصول إلى LLMs مفتوحة المصدر المستضافة لوضع العلامات ، ولتقدير هذا الثقة ، هذا مفيد ، لأنه يمكنك معايرة عتبة الثقة لمهمة وضع العلامات الخاصة بك ، ثم توجيه تسميات أقل ثقة إلى البشر ، بينما لا تزال تحصل على فوائد التسمية التلقائية للأمثلة الواثقة.
من أجل استخدام LLMs المستضافة للتزود بالوقود ، يمكنك طلب الوصول هنا.
تحقق من خريطة الطريق العامة لمعرفة المزيد عن التحسينات المستمرة والمخطط لها لمكتبة Autolabel.
نحن نبحث دائمًا عن اقتراحات ومساهمات من المجتمع. انضم إلى مناقشة Discord أو افتح مشكلة GitHub للإبلاغ عن الأخطاء وطلب الميزات.
Autolabel هو مشروع سريع النمو. نرحب بالمساهمات في جميع النماذج - تقارير الأخطاء ، وطلبات السحب والأفكار لتحسين المكتبة.