غلاف سهل الاستخدام لنماذج GPT-2 124M و 345M و 774M و 1.5B
ما هو • التثبيت • البدء
صنعها ريشاب أناند • https://rish-16.github.io
GPT-2 هو نموذج معالجة اللغة الطبيعية التي طورتها Openai لتوليد النصوص. إنه خليفة نموذج GPT (المحول التدريبي المسبق) المدربين على 40 جيجابايت من النص من الإنترنت. إنه يتميز بنموذج محول تم تسليط الضوء عليه من قبل الاهتمام هو كل ما تحتاجه في عام 2017. يحتوي النموذج على 4 إصدارات - 124M
، 345M
، 774M
، و 1558M
- تختلف من حيث مقدار بيانات التدريب التي تغذيها وعدد المعلمات التي تحتوي عليها.
يعد طراز 1.5B حاليًا أكبر طراز متاح يصدره Openai.
أخيرًا ، يعد gpt2-client
عبارة عن غلاف حول مستودع gpt-2
الأصلي الذي يتميز بنفس الوظيفة ولكن مع المزيد من الوصول والفهم والطويلة. يمكنك اللعب مع جميع طرز GPT-2 الأربعة في أقل من خمسة أسطر من التعليمات البرمجية.
*ملاحظة : إن غلاف العميل هذا ليس مسؤولاً بأي حال من الأحوال عن أي ضرر تسبب بشكل مباشر أو غير مباشر. أي أسماء وأماكن وأشياء مشار إليها من قبل النموذج هي خيالية ولا تطلب أي تشابه مع كيانات أو منظمات الحياة الحقيقية. العينات غير مطلقة وقد تحتوي على محتوى هجومي. نص سلطة المستخدم.*
تثبيت العميل عبر pip
. من الناحية المثالية ، يتم دعم gpt2-client
جيدًا لـ Python> = 3.5 و TensorFlow> = 1.x. قد تحتاج بعض المكتبات إلى إعادة تثبيت أو ترقية باستخدام علامة --upgrade
عبر pip
إذا تم استخدام Python 2.x.
pip install gpt2-client
ملاحظة:
gpt2-client
غير متوافق مع TensorFlow 2.0 ، جرب TensorFlow 1.14.0
1. قم بتنزيل الأوزان ونقاط التفتيش
from gpt2_client import GPT2Client
gpt2 = GPT2Client ( '124M' ) # This could also be `355M`, `774M`, or `1558M`. Rename `save_dir` to anything.
gpt2 . load_model ( force_download = False ) # Use cached versions if available.
هذا ينشئ دليلًا يسمى models
في دليل العمل الحالي ويقوم بتنزيل الأوزان ونقاط التفتيش ونماذج JSON و Hyper-Parameters المطلوبة بواسطة النموذج. بمجرد استدعاء وظيفة load_model()
، لا تحتاج إلى الاتصال بها مرة أخرى على افتراض أن الملفات قد انتهت من التنزيل في دليل models
.
ملاحظة: set
force_download=True
للكتابة فوق أوزان النموذج المخبأة ونقاط التفتيش الحالية
2. ابدأ في توليد النص!
from gpt2_client import GPT2Client
gpt2 = GPT2Client ( '124M' ) # This could also be `355M`, `774M`, or `1558M`
gpt2 . load_model ()
gpt2 . generate ( interactive = True ) # Asks user for prompt
gpt2 . generate ( n_samples = 4 ) # Generates 4 pieces of text
text = gpt2 . generate ( return_text = True ) # Generates text and returns it in an array
gpt2 . generate ( interactive = True , n_samples = 3 ) # A different prompt each time
يمكنك أن ترى من العينة المذكورة أعلاه أن خيارات التوليد مرنة للغاية. يمكنك المزج والمطابقة بناءً على نوع النص الذي تحتاجه ، سواء كان ذلك أجزاء متعددة أو واحدة في وقت واحد مع مطالبات.
3. توليد النص من مجموعة من المطالبات
from gpt2_client import GPT2Client
gpt2 = GPT2Client ( '124M' ) # This could also be `355M`, `774M`, or `1558M`
gpt2 . load_model ()
prompts = [
"This is a prompt 1" ,
"This is a prompt 2" ,
"This is a prompt 3" ,
"This is a prompt 4"
]
text = gpt2 . generate_batch_from_prompts ( prompts ) # returns an array of generated text
4. صقل GPT-2 إلى مجموعات بيانات مخصصة
from gpt2_client import GPT2Client
gpt2 = GPT2Client ( '124M' ) # This could also be `355M`, `774M`, or `1558M`
gpt2 . load_model ()
my_corpus = './data/shakespeare.txt' # path to corpus
custom_text = gpt2 . finetune ( my_corpus , return_text = True ) # Load your custom dataset
من أجل ضبط GPT-2 بشكل جيد إلى مجموعة البيانات المخصصة أو مجموعة البيانات ، من المثالي أن يكون لديك وحدة معالجة الرسومات أو TPU في متناول اليد. Google Colab هي واحدة من هذه الأدوات التي يمكنك الاستفادة منها لإعادة تدريب/ضبط طرازك المخصص.
5. ترميز وفك تشفير تسلسل النص
from gpt2_client import GPT2Client
gpt2 = GPT2Client ( '124M' ) # This could also be `355M`, `774M`, or `1558M`
gpt2 . load_model ()
# encoding a sentence
encs = gpt2 . encode_seq ( "Hello world, this is a sentence" )
# [15496, 995, 11, 428, 318, 257, 6827]
# decoding an encoded sequence
decs = gpt2 . decode_seq ( encs )
# Hello world, this is a sentence
الاقتراحات ، والتحسينات ، والتحسينات هي دائما موضع ترحيب! إذا كان لديك أي مشاكل ، فيرجى رفع واحدة في قسم القضايا. إذا كان لديك تحسن ، فقم بتقديم مشكلة لمناقشة الاقتراح قبل إنشاء العلاقات العامة.
كل الأفكار - مهما كانت الفاحشة - مرحبًا بكم!
مفتوح المصدر ممتع حقًا. تبرعاتك تحفزني على تقديم أفكار جديدة إلى الحياة. إذا كنت مهتمًا بدعم مساعي المصدر المفتوح ، فيرجى التبرع-فهذا يعني الكثير بالنسبة لي!
معهد ماساتشوستس للتكنولوجيا