切换到中文 | عبر الإنترنت: الدردشة وتمثيل الأدوار | ف ف: مجموعة ف ف
سلسلة Index-1.9B هي نسخة خفيفة الوزن من نماذج سلسلة Index، بما في ذلك النماذج التالية:
نموذج | متوسط النتيجة | متوسط درجات اللغة الإنجليزية | MMLU | سيفال | CMMLU | هيلاسواج | قوس-C | قوس-E |
---|---|---|---|---|---|---|---|---|
جوجل جيما 2 ب | 41.58 | 46.77 | 41.81 | 31.36 | 31.02 | 66.82 | 36.39 | 42.07 |
فاي-2 (2.7ب) | 58.89 | 72.54 | 57.61 | 31.12 | 32.05 | 70.94 | 74.51 | 87.1 |
Qwen1.5-1.8B | 58.96 | 59.28 | 47.05 | 59.48 | 57.12 | 58.33 | 56.82 | 74.93 |
Qwen2-1.5B (تقرير) | 65.17 | 62.52 | 56.5 | 70.6 | 70.3 | 66.6 | 43.9 | 83.09 |
MiniCPM-2.4B-SFT | 62.53 | 68.75 | 53.8 | 49.19 | 50.97 | 67.29 | 69.44 | 84.48 |
مؤشر-1.9B-نقي | 50.61 | 52.99 | 46.24 | 46.53 | 45.19 | 62.63 | 41.97 | 61.1 |
الفهرس-1.9ب | 64.92 | 69.93 | 52.53 | 57.01 | 52.79 | 80.69 | 65.15 | 81.35 |
اللاما2-7ب | 50.79 | 60.31 | 44.32 | 32.42 | 31.11 | 76 | 46.3 | 74.6 |
ميسترال-7بي (تقرير) | / | 69.23 | 60.1 | / | / | 81.3 | 55.5 | 80 |
بايتشوان2-7ب | 54.53 | 53.51 | 54.64 | 56.19 | 56.95 | 25.04 | 57.25 | 77.12 |
اللاما 2-13 ب | 57.51 | 66.61 | 55.78 | 39.93 | 38.7 | 76.22 | 58.88 | 75.56 |
بايتشوان2-13ب | 68.90 | 71.69 | 59.63 | 59.21 | 61.27 | 72.61 | 70.04 | 84.48 |
إم بي تي-30بي (تقرير) | / | 63.48 | 46.9 | / | / | 79.9 | 50.6 | 76.5 |
فالكون-40بي (تقرير) | / | 68.18 | 55.4 | / | / | 83.6 | 54.5 | 79.2 |
يعتمد رمز التقييم على OpenCompass مع تعديلات التوافق. راجع مجلد التقييم للحصول على التفاصيل.
HuggingFace | ModelScope |
---|---|
؟ الفهرس-1.9B-الدردشة | الفهرس-1.9B-الدردشة |
؟ مؤشر-1.9B-شخصية (لعب الأدوار) | مؤشر-1.9B-شخصية (لعب الأدوار) |
؟ مؤشر-1.9B-قاعدة | مؤشر-1.9B-قاعدة |
؟ مؤشر-1.9B-قاعدة-نقية | مؤشر-1.9B-قاعدة-نقية |
؟ الفهرس-1.9B-32K (سياق طويل 32K) | الفهرس-1.9B-32K (سياق طويل 32K) |
Index-1.9B-32K
إلا باستخدام هذه الأداة: demo/cli_long_text_demo.py
!!!git clone https://github.com/bilibili/Index-1.9B
cd Index-1.9B
pip install -r requirements.txt
يمكنك تحميل نموذج Index-1.9B-Chat للحوار باستخدام الكود التالي:
import argparse
from transformers import AutoTokenizer , pipeline
# Attention! The directory must not contain "." and can be replaced with "_".
parser = argparse . ArgumentParser ()
parser . add_argument ( '--model_path' , default = "./IndexTeam/Index-1.9B-Chat/" , type = str , help = "" )
parser . add_argument ( '--device' , default = "cpu" , type = str , help = "" ) # also could be "cuda" or "mps" for Apple silicon
args = parser . parse_args ()
tokenizer = AutoTokenizer . from_pretrained ( args . model_path , trust_remote_code = True )
generator = pipeline ( "text-generation" ,
model = args . model_path ,
tokenizer = tokenizer , trust_remote_code = True ,
device = args . device )
system_message = "你是由哔哩哔哩自主研发的大语言模型,名为“Index”。你能够根据用户传入的信息,帮助用户完成指定的任务,并生成恰当的、符合要求的回复。"
query = "续写 天不生我金坷垃"
model_input = []
model_input . append ({ "role" : "system" , "content" : system_message })
model_input . append ({ "role" : "user" , "content" : query })
model_output = generator ( model_input , max_new_tokens = 300 , top_k = 5 , top_p = 0.8 , temperature = 0.3 , repetition_penalty = 1.1 , do_sample = True )
print ( 'User:' , query )
print ( 'Model:' , model_output )
يعتمد على Gradio، التثبيت باستخدام:
pip install gradio==4.29.0
ابدأ تشغيل خادم ويب باستخدام الكود التالي. بعد إدخال عنوان الوصول في المتصفح، يمكنك استخدام نموذج Index-1.9B-Chat للحوار:
python demo/web_demo.py --port= ' port ' --model_path= ' /path/to/model/ '
ملحوظة: لا يمكن إطلاق Index-1.9B-32K
إلا باستخدام هذه الأداة: demo/cli_long_text_demo.py
!!!
ابدأ عرضًا تجريبيًا نهائيًا باستخدام الكود التالي لاستخدام نموذج Index-1.9B-Chat للحوار:
python demo/cli_demo.py --model_path= ' /path/to/model/ '
يعتمد على القارورة، قم بالتثبيت باستخدام:
pip install flask==2.2.5
ابدأ تشغيل Flask API بالرمز التالي:
python demo/openai_demo.py --model_path= ' /path/to/model/ '
يمكنك إجراء الحوارات عبر سطر الأوامر:
curl http://127.0.0.1:8010/v1/chat/completions
-H " Content-Type: application/json "
-d ' {
"messages": [
{"role": "system", "content": "你是由哔哩哔哩自主研发的大语言模型,名为“Index”。你能够根据用户传入的信息,帮助用户完成指定的任务,并生成恰当的、符合要求的回复。"},
{"role": "user", "content": "花儿为什么这么红?"}
]
} '
Index-1.9B-32K هو نموذج لغة يحتوي على 1.9 مليار معلمة فقط، ومع ذلك فهو يدعم طول سياق يبلغ 32 كيلو بايت (مما يعني أن هذا النموذج الصغير للغاية يمكنه قراءة مستندات تزيد عن 35000 كلمة دفعة واحدة). خضع النموذج للتدريب المسبق المستمر والضبط الدقيق تحت الإشراف (SFT) خصيصًا للنصوص الأطول من 32 ألف رمز مميز، استنادًا إلى بيانات تدريب النص الطويل المنسقة بعناية ومجموعات التعليمات النصية الطويلة ذاتية الصنع. أصبح النموذج الآن مفتوح المصدر على كل من Hugging Face وModelScope.
على الرغم من صغر حجمه (حوالي 2% من النماذج مثل GPT-4)، فإن Index-1.9B-32K يُظهر إمكانات ممتازة لمعالجة النصوص الطويلة. كما هو موضح في الشكل أدناه، فإن نتيجة نموذجنا بحجم 1.9B تفوق حتى درجة نموذجنا بحجم 7B. وفيما يلي مقارنة مع نماذج مثل GPT-4 وQwen2:
مقارنة Index-1.9B-32K مع GPT-4 وQwen2 والنماذج الأخرى في إمكانية السياق الطويل
في اختبار إبرة في كومة قش بطول 32 كيلو، حقق المؤشر -1.9B-32K نتائج ممتازة، كما هو موضح في الشكل أدناه. وكان الاستثناء الوحيد هو بقعة صفراء صغيرة (91.08 نقطة) في المنطقة (32 ألف طول، وعمق 10٪)، مع أداء جميع المناطق الأخرى بشكل ممتاز في المناطق الخضراء في الغالب.
تقييم NeedleBench
للحصول على تفاصيل حول التنزيل والاستخدام والتقرير الفني لـ Index-1.9B-32K، راجع:
Index-1.9B-32K التقرير الفني ذو السياق الطويلweb_demo.py
للحصول على مخرجات Index-1.9B-Chat. System Message
لتلعب دور الصورة النمطية لمستخدم بيليبيلي! لقد قمنا في نفس الوقت بفتح نموذج لعب الأدوار والإطار المصاحب له.
三三
المضمنة.生成角色
لإنشائه بنجاح.Role name
، ثم أدخل query
، ثم انقر فوق submit
لبدء المحادثة.للحصول على الاستخدام التفصيلي، يرجى الرجوع إلى مجلد لعب الأدوار.
cd demo/
CUDA_VISIBLE_DEVICES=0 python cli_long_text_demo.py --model_path ' /path/to/model/ ' --input_file_path data/user_long_text.txt
ترجمة وملخص (تقرير بيليبيلي المالي الصادر بتاريخ 2024.8.22)
يعتمد أمر التثبيت على وحدات البت ساندبايت:
pip install bitsandbytes==0.43.0
يمكنك استخدام البرنامج النصي التالي لإجراء عملية تكميم int4، والتي تقلل من فقدان الأداء وتوفر استخدام ذاكرة الفيديو بشكل أكبر.
import torch
import argparse
from transformers import (
AutoModelForCausalLM ,
AutoTokenizer ,
TextIteratorStreamer ,
GenerationConfig ,
BitsAndBytesConfig
)
parser = argparse . ArgumentParser ()
parser . add_argument ( '--model_path' , default = "" , type = str , help = "" )
parser . add_argument ( '--save_model_path' , default = "" , type = str , help = "" )
args = parser . parse_args ()
tokenizer = AutoTokenizer . from_pretrained ( args . model_path , trust_remote_code = True )
quantization_config = BitsAndBytesConfig (
load_in_4bit = True ,
bnb_4bit_compute_dtype = torch . float16 ,
bnb_4bit_use_double_quant = True ,
bnb_4bit_quant_type = "nf4" ,
llm_int8_threshold = 6.0 ,
llm_int8_has_fp16_weight = False ,
)
model = AutoModelForCausalLM . from_pretrained ( args . model_path ,
device_map = "auto" ,
torch_dtype = torch . float16 ,
quantization_config = quantization_config ,
trust_remote_code = True )
model . save_pretrained ( args . save_model_path )
tokenizer . save_pretrained ( args . save_model_path )
اتبع الخطوات الموجودة في البرنامج التعليمي للضبط الدقيق لضبط نموذج Index-1.9B-Chat بسرعة. جربه وقم بتخصيص نموذج الفهرس الحصري الخاص بك!
قد يقوم Index-1.9B بإنشاء محتوى غير دقيق أو متحيز أو غير مقبول في مواقف معينة. لا يستطيع النموذج أن يفهم أو يعبر عن آراء شخصية أو يصدر أحكامًا قيمية. ولا تمثل مخرجاته آراء ومواقف مطوري النموذج. ولذلك، يرجى استخدام المحتوى الذي تم إنشاؤه بحذر. يجب على المستخدمين تقييم المحتوى الناتج عن النموذج والتحقق منه بشكل مستقل، ويجب ألا ينشروا محتوى ضارًا. يجب على المطورين إجراء اختبارات السلامة والضبط الدقيق وفقًا لتطبيقات محددة قبل نشر أي تطبيقات ذات صلة.
ننصح بشدة بعدم استخدام هذه النماذج لإنشاء معلومات ضارة أو نشرها أو المشاركة في أنشطة قد تضر بالأمن العام أو الوطني أو الاجتماعي أو تنتهك اللوائح. لا تستخدم النماذج لخدمات الإنترنت دون مراجعة السلامة وحفظها بشكل مناسب. لقد بذلنا قصارى جهدنا لضمان الامتثال لبيانات التدريب، ولكن نظرًا لتعقيد النموذج والبيانات، قد لا تزال هناك مشكلات غير متوقعة. لن نتحمل مسؤولية أي مشاكل تنشأ عن استخدام هذه النماذج، سواء كانت تتعلق بأمن البيانات، أو مخاطر الرأي العام، أو أي مخاطر وقضايا ناجمة عن سوء الفهم أو سوء الاستخدام أو النشر أو الاستخدام غير المتوافق للنموذج.
يتطلب استخدام الكود المصدري من هذا المستودع التوافق مع Apache-2.0. يتطلب استخدام أوزان طراز Index-1.9B الامتثال لـ INDEX_MODEL_LICENSE.
أوزان طراز Index-1.9B مفتوحة بالكامل للبحث الأكاديمي وتدعم الاستخدام التجاري المجاني .
إذا كنت تعتقد أن عملنا مفيد لك، فلا تتردد في الاستشهاد به!
@article{Index,
title={Index1.9B Technical Report},
year={2024}
}
ليبلم: https://github.com/ling0322/libllm/blob/main/examples/python/run_bilibili_index.py
chatllm.cpp: https://github.com/foldl/chatllm.cpp/blob/master/docs/rag.md#role-play-with-rag
أولاما: https://ollama.com/milkey/bilibili-index
الماجستير الذاتي: https://github.com/datawhalecina/self-llm/blob/master/bilibili_Index-1.9B/04-Index-1.9B-Chat%20Lora%20微调.md