الحالة: الأرشيف (يتم توفير الرمز كما هو ، لا يوجد تحديثات متوقعة)
بيرت keras
تنفيذ Keras لـ Google Bert (تمثيلات التشفير ثنائية الاتجاه من Transformers) و Openai Transformer LM قادرة على تحميل النماذج المسبقة مع واجهة برمجة تطبيقات في حالة صفيحة.
تحديث : مع دعم TPU على حد سواء للاستدلال والتدريب مثل دفتر كولاب هذا بفضل highcwu
كيف تستخدمه؟
# this is a pseudo code you can read an actual working example in tutorial.ipynb or the colab notebook
text_encoder = MyTextEncoder ( ** my_text_encoder_params ) # you create a text encoder (sentence piece and openai's bpe are included)
lm_generator = lm_generator ( text_encoder , ** lm_generator_params ) # this is essentially your data reader (single sentence and double sentence reader with masking and is_next label are included)
task_meta_datas = [ lm_task , classification_task , pos_task ] # these are your tasks (the lm_generator must generate the labels for these tasks too)
encoder_model = create_transformer ( ** encoder_params ) # or you could simply load_openai() or you could write your own encoder(BiLSTM for example)
trained_model = train_model ( encoder_model , task_meta_datas , lm_generator , ** training_params ) # it does both pretraing and finetuning
trained_model . save_weights ( 'my_awesome_model' ) # save it
model = load_model ( 'my_awesome_model' , encoder_model ) # load it later and use it!
ملحوظات
- الفكرة العامة لهذه المكتبة هي استخدام نموذج Openai/Google المسبق لنقل التعلم
- لمعرفة كيفية عمل طراز Bert ، يمكنك التحقق من دفتر كولاب هذا
- من أجل أن أكون متوافقًا مع كل من Bert و Openai ، كان عليّ أن أفترض ترتيبًا قياسيًا للمفردات ، فأنا أستخدم Openai في وظيفة تحميل Bert هناك جزء لتغيير الطلب ؛ ولكن هذه تفاصيل التنفيذ ويمكنك تجاهلها!
- يتم اختبار نموذج التحميل Openai مع كل من TensorFlow و Theano كخلف
- تحميل نموذج BERT غير ممكن على الواجهة الخلفية theano حتى الآن ولكن إصدار TF يعمل وتم اختباره
- التدريب وضبط النموذج غير ممكن مع الواجهة الخلفية Theano ولكنه يعمل بشكل جيد مع TensorFlow
- يمكنك استخدام مولد البيانات وبيانات التعريف المهمة لمعظم مهام NLP ويمكنك استخدامها في أطر أخرى
- هناك بعض اختبارات الوحدة لكل من مجموعة البيانات ونموذج المحول (اقرأها إذا لم تكن متأكدًا من شيء ما)
- حتى صعبة لا أحب رمز keras الخاص بي ، إنه قابل للقراءة :)
- يمكنك استخدام المشفرات الأخرى ، مثل LSTM أو BIQRNN للتدريب إذا اتبعت عقد النموذج (لديك نفس المدخلات ومخرجات تشفير المحولات)
- لماذا يجب أن أستخدم هذا بدلاً من الإصدار الرسمي؟
- لماذا كيراس؟ إصدار Pytorch بالفعل خارج! (راجع للشغل يمكنك استخدام مولد البيانات هذا للتدريب وضبط هذا النموذج أيضًا)
- أنصحك بشدة بقراءة البرنامج التعليمي.
مفاهيم رمز مهمة
- المهمة: هناك مهامتان عامتان ، ومهام مستوى الجملة (مثل is_next و tisfice analysis) ، ومهام مستوى الرمز المميز (مثل POS و NER)
- الجملة: تمثل الجملة مثالاً على ملصقاتها وكل شيء ، لكل مهمة توفر هدفًا (واحد لمهام مستوى الجملة و Per Token Label لمهام مستوى الرمز المميز) وقناعًا ، للحصول على مستويات رمزية ، نحتاج إلى أن نتجاهلها من الناحية المستقلة (مثل PERT) ، لا نريد أن نتجاهل إلى حد ما في المركز. paepr)
- WeighteightScheduler: للتدريب قد نرغب في البدء بنمذجة اللغة والانتقال بسلاسة إلى التصنيف ، يمكن تنفيذها بسهولة مع هذا الفصل
- intentered_mask: مع هذا ، يمكنك 1. وضع النموذج الخاص بك السببية 2. الحشوات
- Special_tokens: Pad ، Start ، End ، Serimiter ، Mask
ملكية
نيرون