الإنجليزية | 中文
؟ معانقة الوجه • ? ModelScope • ؟ com.wisemodel
اطرح الأسئلة أو ناقش الأفكار على GitHub
انضم إلينا ؟ الخلاف أو WeChat
تحقق من تقرير يي التقنية
تنمو في مركز التعلم يي
؟ تعلم في مدونة يي تك
؟ نماذج سلسلة Yi هي الجيل التالي من نماذج اللغات الكبيرة مفتوحة المصدر التي تم تدريبها من الصفر بواسطة 01.AI.
؟ تم استهداف نماذج سلسلة Yi كنموذج لغة ثنائي اللغة وتم تدريبها على مجموعة 3T متعددة اللغات، وأصبحت واحدة من أقوى LLM في جميع أنحاء العالم، مما يظهر وعدًا في فهم اللغة، والتفكير المنطقي، وفهم القراءة، والمزيد. على سبيل المثال،
حصل نموذج Yi-34B-Chat على المركز الثاني (بعد GPT-4 Turbo) ، متفوقًا على LLMs الأخرى (مثل GPT-4 وMixtral وClaude) على لوحة المتصدرين AlpacaEval (استنادًا إلى البيانات المتاحة حتى يناير 2024).
احتل نموذج Yi-34B المرتبة الأولى بين جميع النماذج مفتوحة المصدر الحالية (مثل Falcon-180B وLlama-70B وClaude) باللغتين الإنجليزية والصينية وفقًا لمعايير مختلفة، بما في ذلك Hugging Face Open LLM Leaderboard (المدربة مسبقًا) وC-Eval (بناءً على البيانات المتاحة حتى نوفمبر 2023).
(الفضل لـ Llama) شكرًا لمجتمعي Transformer وLlama مفتوحي المصدر، حيث أنهما يقللان الجهود المطلوبة للبناء من الصفر ويتيحان استخدام نفس الأدوات داخل النظام البيئي للذكاء الاصطناعي.
ليرة تركية؛ د
تتبنى نماذج سلسلة Yi نفس بنية نموذج Llama ولكنها ليست مشتقات من Llama.
يعتمد كل من Yi وLlama على بنية Transformer، والتي كانت البنية القياسية لنماذج اللغات الكبيرة منذ عام 2018.
ترتكز Llama على بنية Transformer، وقد أصبحت حجر الزاوية الجديد لغالبية النماذج مفتوحة المصدر الحديثة نظرًا لاستقرارها الممتاز، وتقاربها الموثوق، وتوافقها القوي. وهذا يضع اللاما كإطار تأسيسي معترف به للنماذج بما في ذلك Yi.
بفضل بنيات Transformer وLlama، يمكن للنماذج الأخرى الاستفادة من قوتها، مما يقلل الجهد المطلوب للبناء من الصفر وتمكين استخدام نفس الأدوات داخل أنظمتها البيئية.
ومع ذلك، فإن نماذج سلسلة Yi ليست مشتقات من اللاما، لأنها لا تستخدم أوزان اللاما.
نظرًا لأن هيكل Llama يُستخدم في غالبية النماذج مفتوحة المصدر، فإن العوامل الرئيسية لتحديد أداء النموذج هي مجموعات بيانات التدريب وخطوط التدريب والبنية التحتية للتدريب.
من خلال التطوير بطريقة فريدة ومملوكة، أنشأت Yi بشكل مستقل مجموعات بيانات التدريب عالية الجودة الخاصة بها، وخطوط التدريب الفعالة، والبنية التحتية التدريبية القوية بالكامل من الألف إلى الياء. أدى هذا الجهد إلى أداء ممتاز مع تصنيف نماذج سلسلة Yi خلف GPT4 مباشرةً وتجاوز Llama في لوحة Alpaca Leaderboard في ديسمبر 2023.
[ العودة إلى الأعلى ⬆️ ]
Yi-9B-200K
مفتوح المصدر ومتاح للجمهور.Yi-9B
مفتوح المصدر ومتاح للجمهور.Yi-9B
باعتباره الأفضل أداءً بين مجموعة من النماذج مفتوحة المصدر ذات الحجم المماثل (بما في ذلك Mistral-7B وSOLAR-10.7B وGemma-7B وDeepSeek-Coder-7B-Base-v1.5 والمزيد). التفوق بشكل خاص في البرمجة والرياضيات والتفكير المنطقي وفهم القراءة.Yi-VL-34B
و Yi-VL-6B
، مفتوحة المصدر ومتاحة للجمهور.Yi-VL-34B
المرتبة الأولى بين جميع النماذج مفتوحة المصدر الموجودة في أحدث المعايير، بما في ذلك MMMU وCMMMMU (استنادًا إلى البيانات المتاحة حتى يناير 2024).Yi-34B-Chat
Yi-34B-Chat-4bits
Yi-34B-Chat-8bits
Yi-6B-Chat
Yi-6B-Chat-4bits
Yi-6B-Chat-8bits
يمكنك تجربة بعضها بشكل تفاعلي على:
Yi-6B-200K
و Yi-34B-200K
، مفتوحان المصدر ومتاحان للجمهور.Yi-6B
و Yi-34B
، مفتوحان المصدر ومتاحان للجمهور.[ العودة إلى الأعلى ⬆️ ]
تأتي نماذج Yi بأحجام متعددة وتلبي حالات الاستخدام المختلفة. يمكنك أيضًا ضبط نماذج Yi بشكل دقيق لتلبية متطلباتك المحددة.
إذا كنت تريد نشر نماذج Yi، فتأكد من استيفاء متطلبات البرامج والأجهزة.
نموذج | تحميل |
---|---|
يي-34B-الدردشة | • ؟ معانقة الوجه • ? ModelScope • ؟ com.wisemodel |
يي-34B-دردشة-4 بت | • ؟ معانقة الوجه • ? ModelScope • ؟ com.wisemodel |
يي-34B-الدردشة-8 بت | • ؟ معانقة الوجه • ? ModelScope • ؟ com.wisemodel |
يي-6B-دردشة | • ؟ معانقة الوجه • ? ModelScope • ؟ com.wisemodel |
يي-6B-دردشة-4 بت | • ؟ معانقة الوجه • ? ModelScope • ؟ com.wisemodel |
يي-6B-دردشة-8 بت | • ؟ معانقة الوجه • ? ModelScope • ؟ com.wisemodel |
- يتم قياس نماذج سلسلة 4 بت بواسطة AWQ.
- يتم قياس نماذج سلسلة 8 بت بواسطة GPTQ
- تتمتع جميع النماذج الكمية بحاجز منخفض للاستخدام حيث يمكن نشرها على وحدات معالجة الرسومات المخصصة للمستهلك (على سبيل المثال، 3090، 4090).
نموذج | تحميل |
---|---|
يي-34ب | • ؟ معانقة الوجه • ? ModelScope • ؟ com.wisemodel |
يي-34ب-200ك | • ؟ معانقة الوجه • ? ModelScope • ؟ com.wisemodel |
يي-9ب | • ؟ معانقة الوجه • ? ModelScope • ؟ com.wisemodel |
يي-9B-200K | • ؟ معانقة الوجه • ? ModelScope • ؟ com.wisemodel |
يي-6ب | • ؟ معانقة الوجه • ? ModelScope • ؟ com.wisemodel |
يي-6B-200K | • ؟ معانقة الوجه • ? ModelScope • ؟ com.wisemodel |
- 200 كيلو يعادل تقريبًا 400000 حرف صيني.
- إذا كنت تريد استخدام الإصدار السابق من Yi-34B-200K (الذي تم إصداره في 5 نوفمبر 2023)، فقم بتشغيل git checkout 069cd341d60f4ce4b07ec394e82b79e94f656cf
لتنزيل الوزن.
نموذج | مقدمة | نافذة السياق الافتراضية | الرموز المدربة مسبقًا | تاريخ بيانات التدريب |
---|---|---|---|---|
نماذج سلسلة 6B | وهي مناسبة للاستخدام الشخصي والأكاديمي. | 4K | 3T | حتى يونيو 2023 |
نماذج سلسلة 9B | إنه الأفضل في البرمجة والرياضيات في نماذج سلسلة Yi. | يتم تدريب Yi-9B بشكل مستمر على أساس Yi-6B، باستخدام 0.8T من الرموز. | ||
نماذج سلسلة 34B | وهي مناسبة للأغراض الشخصية والأكاديمية والتجارية (خاصة للمؤسسات الصغيرة والمتوسطة الحجم). إنه حل فعال من حيث التكلفة وبأسعار معقولة ومجهز بقدرات طارئة. | 3T |
لنماذج الدردشة
ومع ذلك، فإن هذا التنوع العالي قد يؤدي إلى تضخيم بعض القضايا القائمة، بما في ذلك:
[ العودة إلى الأعلى ⬆️ ]
نصيحة : إذا كنت تريد البدء باستخدام نموذج Yi واستكشاف طرق مختلفة للاستدلال، فاطلع على كتاب Yi Cookbook.
اختر أحد المسارات التالية لتبدأ رحلتك مع Yi!
إذا كنت تفضل نشر نماذج Yi محليًا،
♀️ ولديك الموارد الكافية (مثلاً NVIDIA A800 80GB)، يمكنك اختيار إحدى الطرق التالية:
♀️ ولديك موارد محدودة (على سبيل المثال، MacBook Pro)، يمكنك استخدام llama.cpp.
إذا كنت تفضل عدم نشر نماذج Yi محليًا، فيمكنك استكشاف إمكانيات Yi باستخدام أي من الخيارات التالية.
إذا كنت ترغب في استكشاف المزيد من ميزات Yi، فيمكنك اعتماد إحدى الطرق التالية:
واجهات برمجة تطبيقات Yi (مسؤول Yi)
واجهات برمجة تطبيقات Yi (النسخ المتماثل)
إذا كنت تريد الدردشة مع Yi باستخدام المزيد من الخيارات القابلة للتخصيص (على سبيل المثال، موجه النظام، ودرجة الحرارة، وعقوبة التكرار، وما إلى ذلك)، فيمكنك تجربة أحد الخيارات التالية:
Yi-34B-Chat-Playground (يي الرسمية)
Yi-34B-ساحة الدردشة (نسخة طبق الأصل)
إذا كنت تريد الدردشة مع Yi، يمكنك استخدام إحدى هذه الخدمات عبر الإنترنت، والتي تقدم تجربة مستخدم مماثلة:
Yi-34B-Chat (مسؤول Yi على وجه العناق)
Yi-34B-Chat (الإصدار التجريبي الرسمي من Yi)
[ العودة إلى الأعلى ⬆️ ]
يرشدك هذا البرنامج التعليمي خلال كل خطوة من خطوات تشغيل Yi-34B-Chat محليًا على هاتف A800 (80G) ثم إجراء الاستدلال.
تأكد من تثبيت Python 3.10 أو إصدار أحدث.
إذا كنت تريد تشغيل نماذج Yi أخرى، فراجع متطلبات البرامج والأجهزة.
لإعداد البيئة وتثبيت الحزم المطلوبة، قم بتنفيذ الأمر التالي.
git clone https://github.com/01-ai/Yi.git
cd yi
pip install -r requirements.txt
يمكنك تنزيل الأوزان والرموز المميزة لنماذج Yi من المصادر التالية:
يمكنك إجراء الاستدلال باستخدام دردشة Yi أو النماذج الأساسية على النحو التالي.
قم بإنشاء ملف باسم quick_start.py
وانسخ المحتوى التالي إليه.
from transformers import AutoModelForCausalLM , AutoTokenizer
model_path = '<your-model-path>'
tokenizer = AutoTokenizer . from_pretrained ( model_path , use_fast = False )
# Since transformers 4.35.0, the GPT-Q/AWQ model can be loaded using AutoModelForCausalLM.
model = AutoModelForCausalLM . from_pretrained (
model_path ,
device_map = "auto" ,
torch_dtype = 'auto'
). eval ()
# Prompt content: "hi"
messages = [
{ "role" : "user" , "content" : "hi" }
]
input_ids = tokenizer . apply_chat_template ( conversation = messages , tokenize = True , add_generation_prompt = True , return_tensors = 'pt' )
output_ids = model . generate ( input_ids . to ( 'cuda' ))
response = tokenizer . decode ( output_ids [ 0 ][ input_ids . shape [ 1 ]:], skip_special_tokens = True )
# Model response: "Hello! How can I assist you today?"
print ( response )
قم بتشغيل quick_start.py
.
python quick_start.py
ثم يمكنك رؤية مخرجات مشابهة لتلك الموجودة أدناه. ؟
Hello ! How can I assist you today ?
يي-34ب
الخطوات مشابهة للنقطة - إجراء الاستدلال باستخدام نموذج الدردشة Yi.
يمكنك استخدام الملف الموجود text_generation.py
.
python demo/text_generation.py --model < your-model-path >
ثم يمكنك رؤية مخرجات مشابهة لتلك الموجودة أدناه. ؟
عاجل : دعوني أخبركم قصة مثيرة للاهتمام عن القط توم والفأر جيري،
الجيل : دعني أخبركم بقصة مثيرة للاهتمام عن القط توم والفأر جيري، والتي حدثت في طفولتي. كان لدى والدي منزل كبير تعيش فيه قطتان لقتل الفئران. في أحد الأيام عندما كنت ألعب بمفردي في المنزل، وجدت أحد القطط مستلقيًا على ظهره بالقرب من باب مطبخنا، ويبدو أنه يريد شيئًا منا ولكنه لا يستطيع النهوض بسبب وجود الكثير من الأشخاص حوله! وظل يحاول لعدة دقائق قبل أن يستسلم في النهاية.
يي-9ب
مدخل
from transformers import AutoModelForCausalLM, AutoTokenizer
MODEL_DIR = " 01-ai/Yi-9B "
model = AutoModelForCausalLM.from_pretrained(MODEL_DIR, torch_dtype= " auto " )
tokenizer = AutoTokenizer.from_pretrained(MODEL_DIR, use_fast=False)
input_text = " # write the quick sort algorithm "
inputs = tokenizer(input_text, return_tensors= " pt " ).to(model.device)
outputs = model.generate( ** inputs, max_length=256)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
الإخراج
# write the quick sort algorithm
def quick_sort(arr):
if len(arr) < = 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
# test the quick sort algorithm
print(quick_sort([3, 6, 8, 10, 1, 2, 1]))
[ العودة إلى الأعلى ⬆️ ]
تأكد من تثبيت Docker وnvidia-container-toolkit.
docker run -it --gpus all
-v <your-model-path>: /models
ghcr.io/01-ai/yi:latest
وبدلاً من ذلك، يمكنك سحب صورة Yi Docker من registry.lingyiwanwu.com/ci/01-ai/yi:latest
.
يمكنك إجراء الاستدلال باستخدام دردشة Yi أو النماذج الأساسية على النحو التالي.
الخطوات مشابهة للنقطة - إجراء الاستدلال باستخدام نموذج الدردشة Yi.
لاحظ أن الاختلاف الوحيد هو تعيين model_path = '<your-model-mount-path>'
بدلاً من model_path = '<your-model-path>'
.
الخطوات مشابهة للنقطة - قم بإجراء الاستدلال باستخدام نموذج Yi الأساسي.
لاحظ أن الاختلاف الوحيد هو تعيين --model <your-model-mount-path>'
بدلاً من model <your-model-path>
.
conda-lock
لإنشاء ملفات قفل قابلة للتكرار بالكامل لبيئات conda.micromamba
لتثبيت هذه التبعيات.قم بتثبيت micromamba باتباع الإرشادات المتوفرة هنا.
قم بتنفيذ micromamba install -y -n yi -f conda-lock.yml
لإنشاء بيئة conda باسم yi
وتثبيت التبعيات الضرورية.
سيرشدك البرنامج التعليمي التالي خلال كل خطوة من خطوات تشغيل النموذج الكمي (Yi-chat-6B-2bits) محليًا ثم إجراء الاستدلال.
يفترض هذا البرنامج التعليمي أنك تستخدم جهاز MacBook Pro بذاكرة سعة 16 جيجابايت وشريحة Apple M2 Pro.
تأكد من تثبيت git-lfs
على جهازك.
llama.cpp
لاستنساخ مستودع llama.cpp
، قم بتشغيل الأمر التالي.
git clone [email protected]:ggerganov/llama.cpp.git
2.1 لاستنساخ XeIaso/yi-chat-6B-GGUF باستخدام المؤشرات فقط، قم بتشغيل الأمر التالي.
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/XeIaso/yi-chat-6B-GGUF
2.2 لتنزيل نموذج Yi المكمّم (yi-chat-6b.Q2_K.gguf)، قم بتشغيل الأمر التالي.
git-lfs pull --include yi-chat-6b.Q2_K.gguf
لإجراء الاستدلال باستخدام نموذج Yi، يمكنك استخدام إحدى الطرق التالية.
الطريقة الأولى: إجراء الاستدلال في المحطة
الطريقة الثانية: إجراء الاستدلال في الويب
لتجميع llama.cpp
باستخدام 4 سلاسل عمليات ثم إجراء الاستدلال، انتقل إلى دليل llama.cpp
، وقم بتشغيل الأمر التالي.
نصائح
استبدل
/Users/yu/yi-chat-6B-GGUF/yi-chat-6b.Q2_K.gguf
بالمسار الفعلي لنموذجك.افتراضيًا، يعمل النموذج في وضع الإكمال.
للحصول على خيارات إضافية لتخصيص المخرجات (على سبيل المثال، موجه النظام، ودرجة الحرارة، وعقوبة التكرار، وما إلى ذلك)، قم بتشغيل
./main -h
للتحقق من الأوصاف التفصيلية والاستخدام.
make -j4 && ./main -m /Users/yu/yi-chat-6B-GGUF/yi-chat-6b.Q2_K.gguf -p " How do you feed your pet fox? Please answer this question in 6 simple steps:nStep 1: " -n 384 -e
...
How do you feed your pet fox ? Please answer this question in 6 simple steps:
Step 1: Select the appropriate food for your pet fox. You should choose high-quality, balanced prey items that are suitable for their unique dietary needs. These could include live or frozen mice, rats, pigeons, or other small mammals, as well as fresh fruits and vegetables.
Step 2: Feed your pet fox once or twice a day, depending on the species and its individual preferences. Always ensure that they have access to fresh water throughout the day.
Step 3: Provide an appropriate environment for your pet fox. Ensure it has a comfortable place to rest, plenty of space to move around, and opportunities to play and exercise.
Step 4: Socialize your pet with other animals if possible. Interactions with other creatures can help them develop social skills and prevent boredom or stress.
Step 5: Regularly check for signs of illness or discomfort in your fox. Be prepared to provide veterinary care as needed, especially for common issues such as parasites, dental health problems, or infections.
Step 6: Educate yourself about the needs of your pet fox and be aware of any potential risks or concerns that could affect their well-being. Regularly consult with a veterinarian to ensure you are providing the best care.
...
لقد نجحت الآن في طرح سؤال على نموذج Yi وحصلت على إجابة! ؟
لتهيئة برنامج chatbot خفيف الوزن وسريع، قم بتشغيل الأمر التالي.
cd llama.cpp
./server --ctx-size 2048 --host 0.0.0.0 --n-gpu-layers 64 --model /Users/yu/yi-chat-6B-GGUF/yi-chat-6b.Q2_K.gguf
ثم يمكنك الحصول على إخراج مثل هذا:
...
llama_new_context_with_model: n_ctx = 2048
llama_new_context_with_model: freq_base = 5000000.0
llama_new_context_with_model: freq_scale = 1
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M2 Pro
ggml_metal_init: picking default device: Apple M2 Pro
ggml_metal_init: ggml.metallib not found, loading from source
ggml_metal_init: GGML_METAL_PATH_RESOURCES = nil
ggml_metal_init: loading ' /Users/yu/llama.cpp/ggml-metal.metal '
ggml_metal_init: GPU name: Apple M2 Pro
ggml_metal_init: GPU family: MTLGPUFamilyApple8 (1008)
ggml_metal_init: hasUnifiedMemory = true
ggml_metal_init: recommendedMaxWorkingSetSize = 11453.25 MB
ggml_metal_init: maxTransferRate = built-in GPU
ggml_backend_metal_buffer_type_alloc_buffer: allocated buffer, size = 128.00 MiB, ( 2629.44 / 10922.67)
llama_new_context_with_model: KV self size = 128.00 MiB, K (f16): 64.00 MiB, V (f16): 64.00 MiB
ggml_backend_metal_buffer_type_alloc_buffer: allocated buffer, size = 0.02 MiB, ( 2629.45 / 10922.67)
llama_build_graph: non-view tensors processed: 676/676
llama_new_context_with_model: compute buffer total size = 159.19 MiB
ggml_backend_metal_buffer_type_alloc_buffer: allocated buffer, size = 156.02 MiB, ( 2785.45 / 10922.67)
Available slots:
- > Slot 0 - max context: 2048
llama server listening at http://0.0.0.0:8080
للوصول إلى واجهة chatbot، افتح متصفح الويب الخاص بك وأدخل http://0.0.0.0:8080
في شريط العناوين.
أدخل سؤالاً، مثل "كيف تطعم ثعلبك الأليف؟ يرجى الإجابة على هذا السؤال في 6 خطوات بسيطة" في نافذة المطالبة، وستتلقى إجابة مقابلة.
[ العودة إلى الأعلى ⬆️ ]
يمكنك إنشاء عرض توضيحي لواجهة مستخدم الويب لنماذج دردشة Yi (لاحظ أن نماذج Yi الأساسية غير مدعومة في هذا السيناريو).
الخطوة 1: إعداد البيئة الخاصة بك.
الخطوة 2: قم بتنزيل نموذج Yi.
الخطوة 3. لبدء خدمة ويب محليًا، قم بتشغيل الأمر التالي.
python demo/web_demo.py -c < your-model-path >
يمكنك الوصول إلى واجهة مستخدم الويب عن طريق إدخال العنوان الموجود في وحدة التحكم في متصفحك.
[ العودة إلى الأعلى ⬆️ ]
bash finetune/scripts/run_sft_Yi_6b.sh
بمجرد الانتهاء، يمكنك مقارنة النموذج المضبوط والنموذج الأساسي باستخدام الأمر التالي:
bash finetune/scripts/run_eval.sh
افتراضيًا، نستخدم مجموعة بيانات صغيرة من BAAI/COIG لضبط النموذج الأساسي. يمكنك أيضًا إعداد مجموعة البيانات المخصصة الخاصة بك بتنسيق jsonl
التالي:
{ "prompt" : " Human: Who are you? Assistant: " , "chosen" : " I'm Yi. " }
ثم قم بتركيبها في الحاوية لتحل محل تلك الافتراضية:
docker run -it
-v /path/to/save/finetuned/model/:/finetuned-model
-v /path/to/train.jsonl:/yi/finetune/data/train.json
-v /path/to/eval.jsonl:/yi/finetune/data/eval.json
ghcr.io/01-ai/yi:latest
bash finetune/scripts/run_sft_Yi_6b.sh
تأكد من أن لديك كوندا. إذا لم يكن الأمر كذلك، استخدم
mkdir -p ~ /miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~ /miniconda3/miniconda.sh
bash ~ /miniconda3/miniconda.sh -b -u -p ~ /miniconda3
rm -rf ~ /miniconda3/miniconda.sh
~ /miniconda3/bin/conda init bash
source ~ /.bashrc
ثم قم بإنشاء conda env:
conda create -n dev_env python=3.10 -y
conda activate dev_env
pip install torch==2.0.1 deepspeed==0.10 tensorboard transformers datasets sentencepiece accelerate ray==2.7
بالنسبة لطراز Yi-6B، يوصى باستخدام عقدة تحتوي على 4 وحدات معالجة رسوميات، كل منها بذاكرة GPU أكبر من 60 جيجابايت.
بالنسبة لطراز Yi-34B، نظرًا لأن استخدام تقنية عدم التحميل الصفري يستهلك الكثير من ذاكرة وحدة المعالجة المركزية، يرجى توخي الحذر للحد من عدد وحدات معالجة الرسومات في التدريب الدقيق 34B. الرجاء استخدام CUDA_VISIBLE_DEVICES للحد من عدد وحدات معالجة الرسومات (كما هو موضح في scripts/run_sft_Yi_34b.sh).
إعداد الأجهزة النموذجي لضبط الطراز 34B عبارة عن عقدة تحتوي على 8 وحدات معالجة رسوميات (تقتصر على 4 في التشغيل بواسطة CUDA_VISIBLE_DEVICES=0,1,2,3)، ولكل منها ذاكرة GPU أكبر من 80 جيجابايت، وإجمالي ذاكرة وحدة المعالجة المركزية أكبر من 900 جيجابايت.
قم بتنزيل نموذج LLM-base إلى MODEL_PATH (6B و34B). المجلد النموذجي للنماذج يشبه:
| -- $MODEL_PATH
| | -- config.json
| | -- pytorch_model-00001-of-00002.bin
| | -- pytorch_model-00002-of-00002.bin
| | -- pytorch_model.bin.index.json
| | -- tokenizer_config.json
| | -- tokenizer.model
| | -- ...
قم بتنزيل مجموعة بيانات من Huggingface إلى وحدة التخزين المحلية DATA_PATH، على سبيل المثال Dahoas/rm-static.
| -- $DATA_PATH
| | -- data
| | | -- train-00000-of-00001-2a1df75c6bce91ab.parquet
| | | -- test-00000-of-00001-8c7c51afc6d45980.parquet
| | -- dataset_infos.json
| | -- README.md
يحتوي finetune/yi_example_dataset
على مجموعات بيانات نموذجية، والتي تم تعديلها من BAAI/COIG
| -- $DATA_PATH
| --data
| -- train.jsonl
| -- eval.jsonl
cd
في مجلد البرامج النصية، انسخ البرنامج النصي والصقه، ثم قم بتشغيله. على سبيل المثال:
cd finetune/scripts
bash run_sft_Yi_6b.sh
بالنسبة للنموذج الأساسي Yi-6B، يمكن أن يؤدي إعداد Training_debug_steps=20 وnum_train_epochs=4 إلى إخراج نموذج دردشة، والذي يستغرق حوالي 20 دقيقة.
بالنسبة للنموذج الأساسي Yi-34B، يستغرق التهيئة وقتًا طويلاً نسبيًا. يرجى التحلي بالصبر.
cd finetune/scripts
bash run_eval.sh
ثم سترى الإجابة من كل من النموذج الأساسي والنموذج الدقيق.
[ العودة إلى الأعلى ⬆️ ]
python quantization/gptq/quant_autogptq.py
--model /base_model
--output_dir /quantized_model
--trust_remote_code
بمجرد الانتهاء، يمكنك بعد ذلك تقييم النموذج الناتج على النحو التالي:
python quantization/gptq/eval_quantized_model.py
--model /quantized_model
--trust_remote_code
GPT-Q هي طريقة PTQ (تكميم ما بعد التدريب). فهو يحفظ الذاكرة ويوفر عمليات تسريع محتملة مع الحفاظ على دقة النموذج.
يمكن تكميم نماذج Yi لـ GPT-Q دون بذل الكثير من الجهود. نحن نقدم البرنامج التعليمي خطوة بخطوة أدناه.
لتشغيل GPT-Q، سنستخدم AutoGPTQ وexllama. وقد قامت المحولات المعانقة بدمج الأمثل وgptq التلقائي لإجراء تكميم GPTQ على نماذج اللغة.
يتم توفير البرنامج النصي quant_autogptq.py
لك لإجراء تكميم GPT-Q:
python quant_autogptq.py --model /base_model
--output_dir /quantized_model --bits 4 --group_size 128 --trust_remote_code
يمكنك تشغيل نموذج كمي باستخدام eval_quantized_model.py
:
python eval_quantized_model.py --model /quantized_model --trust_remote_code
python quantization/awq/quant_autoawq.py
--model /base_model
--output_dir /quantized_model
--trust_remote_code
بمجرد الانتهاء، يمكنك بعد ذلك تقييم النموذج الناتج على النحو التالي:
python quantization/awq/eval_quantized_model.py
--model /quantized_model
--trust_remote_code
AWQ هي طريقة PTQ (تكميم ما بعد التدريب). إنها عملية تكميم فعالة ودقيقة للوزن منخفض البت (INT3/4) لطلبة LLM.
يمكن قياس كمية AWQ لنماذج Yi دون بذل الكثير من الجهود. نحن نقدم البرنامج التعليمي خطوة بخطوة أدناه.
لتشغيل AWQ، سوف نستخدم AutoAWQ.
يتم توفير البرنامج النصي quant_autoawq.py
لك لإجراء تكميم AWQ:
python quant_autoawq.py --model /base_model
--output_dir /quantized_model --bits 4 --group_size 128 --trust_remote_code
يمكنك تشغيل نموذج كمي باستخدام eval_quantized_model.py
:
python eval_quantized_model.py --model /quantized_model --trust_remote_code
[ العودة إلى الأعلى ⬆️ ]
إذا كنت تريد نشر نماذج Yi، فتأكد من استيفاء متطلبات البرامج والأجهزة.
قبل استخدام نماذج Yi الكمية، تأكد من تثبيت البرنامج الصحيح المدرج أدناه.
نموذج | برمجة |
---|---|
نماذج يي 4 بت الكمية | AWQ و CUDA |
نماذج يي 8 بت الكمية | جي بي تي كيو وكودا |
قبل نشر Yi في بيئتك، تأكد من أن أجهزتك تلبي المتطلبات التالية.
نموذج | الحد الأدنى من VRAM | مثال GPU الموصى به |
---|---|---|
يي-6B-دردشة | 15 جيجابايت | 1 × آر تي إكس 3090 (24 جيجابايت) 1 × آر تي إكس 4090 (24 جيجابايت) 1 × A10 (24 جيجابايت) 1 × A30 (24 جيجابايت) |
يي-6B-دردشة-4 بت | 4 غيغابايت | 1 × آر تي إكس 3060 (12 جيجابايت) 1 × آر تي إكس 4060 (8 جيجابايت) |
يي-6B-دردشة-8 بت | 8 جيجا | 1 × آر تي إكس 3070 (8 جيجابايت) 1 × آر تي إكس 4060 (8 جيجابايت) |
يي-34B-الدردشة | 72 جيجابايت | 4 × آر تي إكس 4090 (24 جيجابايت) 1 × A800 (80 جيجابايت) |
يي-34B-دردشة-4 بت | 20 جيجابايت | 1 × آر تي إكس 3090 (24 جيجابايت) 1 × آر تي إكس 4090 (24 جيجابايت) 1 × A10 (24 جيجابايت) 1 × A30 (24 جيجابايت) 1 × A100 (40 جيجابايت) |
يي-34B-الدردشة-8 بت | 38 جيجابايت | 2 × آر تي إكس 3090 (24 جيجابايت) 2 × آر تي إكس 4090 (24 جيجابايت) 1 × A800 (40 جيجابايت) |
فيما يلي الحد الأدنى التفصيلي لمتطلبات VRAM في حالات الاستخدام المجمعة المختلفة.
نموذج | الدفعة=1 | الدفعة=4 | الدفعة=16 | الدفعة=32 |
---|---|---|---|---|
يي-6B-دردشة | 12 جيجابايت | 13 جيجابايت | 15 جيجابايت | 18 جيجابايت |
يي-6B-دردشة-4 بت | 4 غيغابايت | 5 جيجابايت | 7 جيجابايت | 10 جيجابايت |
يي-6B-دردشة-8 بت | 7 جيجابايت | 8 جيجا | 10 جيجابايت | 14 جيجابايت |
يي-34B-الدردشة | 65 جيجابايت | 68 جيجابايت | 76 جيجابايت | > 80 جيجابايت |
يي-34B-دردشة-4 بت | 19 جيجابايت | 20 جيجابايت | 30 جيجابايت | 40 جيجابايت |
يي-34B-الدردشة-8 بت | 35 جيجابايت | 37 جيجابايت | 46 جيجابايت | 58 جيجابايت |
نموذج | الحد الأدنى من VRAM | مثال GPU الموصى به |
---|---|---|
يي-6ب | 15 جيجابايت | 1 × آر تي إكس 3090 (24 جيجابايت) 1 × آر تي إكس 4090 (24 جيجابايت) 1 × A10 (24 جيجابايت) 1 × A30 (24 جيجابايت) |
يي-6B-200K | 50 جيجابايت | 1 × A800 (80 جيجابايت) |
يي-9ب | 20 جيجابايت | 1 × آر تي إكس 4090 (24 جيجابايت) |
يي-34ب | 72 جيجابايت | 4 × آر تي إكس 4090 (24 جيجابايت) 1 × A800 (80 جيجابايت) |
يي-34ب-200ك | 200 جيجابايت | 4 × A800 (80 جيجابايت) |
[ العودة إلى الأعلى ⬆️ ]
Yi-34B
و Yi-34B-Chat
إلى أسلوب الضبط الدقيق والنتائج.Yi-34B
هو خيارك الأمثل.Yi-34B-Chat
هو أفضل رهان لك.