مرحبًا بك في VerbaFlow، وهي بنية عصبية مكتوبة بلغة Go مصممة خصيصًا لمهام نمذجة اللغة. تم تحسين هذا الطراز، المبني على RWKV RNN القوي، لتحقيق أداء فعال على وحدات المعالجة المركزية القياسية، مما يتيح التشغيل السلس لنماذج اللغات الكبيرة نسبيًا حتى على أجهزة المستهلك.
مع القدرة على استخدام النماذج المدربة مسبقًا في مجموعة بيانات Pile، يعمل VerbaFlow بشكل مشابه لنماذج Transformer المشابهة لـ GPT في التنبؤ بالرمز المميز التالي، وكذلك في المهام الأخرى مثل تلخيص النص وتصنيف النص والإجابة على الأسئلة والمحادثة العامة.
متطلبات:
انسخ هذا الريبو أو احصل على المكتبة:
go get -u github.com/nlpodyssey/verbaflow
لبدء استخدام VerbaFlow، نوصي باستخدام النموذج المدرب مسبقًا RWKV-4-Pile-1B5-Instruct
، والمتوفر على Hugging Face Hub. تم ضبط هذا النموذج بدقة باستخدام مجموعة بيانات Pile وتم تصميمه خصيصًا لفهم التعليمات البشرية وتنفيذها، كما تم ضبطه بدقة في مجموعة بيانات xP3. يمكن الوصول إلى نموذج RWKV-4-Pile-1B5-Instruct-test2-20230209
الأصلي، والذي اشتق منه هذا النموذج، هنا.
تم تحسين المكتبة لتعمل على وحدات المعالجة المركزية x86-64. إذا كنت تريد تشغيله على بنية مختلفة، فيمكنك استخدام متغير البيئة
GOARCH=amd64
.
يمكن استخدام الأوامر التالية لإنشاء واستخدام VerbaFlow:
go build ./cmd/verbaflow
ينشئ هذا الأمر برنامج go وينشئ ملفًا قابلاً للتنفيذ يسمى verbaflow
.
./verbaflow -model-dir models/nlpodyssey/RWKV-4-Pile-1B5-Instruct download
يقوم هذا الأمر بتنزيل النموذج المحدد (في هذه الحالة، "nlpodyssey/RWKV-4-Pile-1B5-Instruct" ضمن دليل "models")
./verbaflow -model-dir models/nlpodyssey/RWKV-4-Pile-1B5-Instruct convert
يقوم هذا الأمر بتحويل النموذج الذي تم تنزيله إلى التنسيق الذي يستخدمه البرنامج.
./verbaflow -log-level trace -model-dir models/nlpodyssey/RWKV-4-Pile-1B5-Instruct inference --address :50051
يقوم هذا الأمر بتشغيل نقطة نهاية استنتاج gRPC على النموذج المحدد.
يرجى التأكد من تثبيت التبعيات اللازمة قبل تشغيل الأوامر المذكورة أعلاه.
إحدى الميزات الأكثر إثارة للاهتمام في LLM هي القدرة على الاستجابة بناءً على الموجه.
قم بتشغيل نقطة نهاية verbaflow
gRPC باستخدام الأمر في الاستدلال، ثم قم بتشغيل مثال prompttester
بإدخال المطالبات التالية:
اِسْتَدْعَى:
echo 'nQ: Briefly: The Universe is expanding, its constituent galaxies flying apart like pieces of cosmic shrapnel in the aftermath of the Big Bang. Which section of a newspaper would this article likely appear in?nnA:' | go run ./examples/prompttester --dconfig ./examples/prompttester/config.yaml
الناتج المتوقع:
Science and Technology
اِسْتَدْعَى:
echo 'nQ:Translate the following text from French to English Je suis le père le plus heureux du mondennA:' | go run ./examples/prompttester --dconfig ./examples/prompttester/config.yaml
الناتج المتوقع:
I am the happiest father in the world.
فيما يلي قائمة بالتبعيات الرئيسية:
شكرًا PENG Bo على إنشاء RWKV RNN وجميع الموارد ذات الصلة، بما في ذلك النماذج المدربة مسبقًا!
يجمع "VerbaFlow" بين "verba"، وهي الكلمة اللاتينية للكلمات ، و"flow"، التي تشير إلى خصائص الشبكات العصبية المتكررة من خلال استحضار فكرة التدفق السلس والمستمر للكلمات، والذي أصبح ممكنًا بفضل الشبكة العصبية. القدرة على الحفاظ على الحالة الداخلية و"تذكر" الكلمات والسياق السابقين عند توليد كلمات جديدة.