آموزش پردازش زبان طبیعی با اکوسیستم هاگینگ فیس؛ مدلهایِ از پیش آموزشیافته (قسمت دوم فصل چهارم)
انتخاب مدل مناسب با Model Hub به مراتب آسانتر میشود. بنابراین، با چند خط کد میتوان از آن در کتابخانه استفاده کرد. حال، باید دید این مدلها چگونه به کار برده میشوند. فرض کنید به دنبال مدل زبان فرانسوی هستیم که عمل mask filling را انجام میدهد. انجام این کار، مستلزم انتخاب چکپوینت camembert-base است. شناساگر camembert-base میتواند برای آغاز کار کافی باشد.
همانطور که در فصلهای قبل ملاحظه کردهاید، میتوان مدل را با استفاده از pipeline راهاندازی کرد.
from transformers import pipeline camembert_fill_mask = pipeline("fill-mask", model="camembert-base") results = camembert_fill_mask("Le camembert est <mask> :)")
[ {'sequence': 'Le camembert est délicieux :)', 'score': 0.49091005325317383, 'token': 7200, 'token_str': 'délicieux'}, {'sequence': 'Le camembert est excellent :)', 'score': 0.1055697426199913, 'token': 2183, 'token_str': 'excellent'}, {'sequence': 'Le camembert est succulent :)', 'score': 0.03453313186764717, 'token': 26202, 'token_str': 'succulent'}, {'sequence': 'Le camembert est meilleur :)', 'score': 0.0330314114689827, 'token': 528, 'token_str': 'meilleur'}, {'sequence': 'Le camembert est parfait :)', 'score': 0.03007650189101696, 'token': 1654, 'token_str': 'parfait'} ]
همانطور که ملاحظه میکنید، بارگذاری مدل در پایپلاین بسیار آسان است. تنها نکتهای که باید مد نظر قرار دهید این است که چکپوینت منتخب برای کاری که قرار است به کار برده شود، گزینه مناسبی باشد. برای نمونه، در این بخش، چکپوینت camembert-base را در پایپلاین fill-mask بارگذاری میکنیم و هیچ مشکلی پیش نمیآید. اما اگر این چکپوینت در پایپلاین text-classification بارگذاری میشد، نتایج قابل فهم نمیشدند زیرا هد camembert-base مناسبِ این کار نیست. توصیه میکنیم از انتخابگر موجود در رابط کاربری Hugging Face Hub استفاده کنید تا امکان انتخاب چکپوینتهای مناسب فراهم شود. چکپوینت به طور مستقیم با استفاده از معماری مدل راهاندازی میشود.
from transformers import CamembertTokenizer, TFCamembertForMaskedLM tokenizer = CamembertTokenizer.from_pretrained("camembert-base") model = TFCamembertForMaskedLM.from_pretrained("camembert-base")
با این حال، توصیه میکنیم از TFAuto* classes استفاده کنید زیرا طراحی آن به گونهای است که نیازی به معماری ندارد. اگرچه نمونه کد قبلی کاربران به چکپوینتهایی محدود میکند که در معماری CamemBERT قابل بارگذاری هستند، اما استفاده از دستههای TFAuto* باعث آسانتر شدنِ تغییر چکپوینتها میشود:
from transformers import AutoTokenizer, TFAutoModelForMaskedLM tokenizer = AutoTokenizer.from_pretrained("camembert-base") model = TFAutoModelForMaskedLM.from_pretrained("camembert-base")
هنگام استفاده از مدلی که از پیش آموزش داده شده است، حتماً نحوهی آموزش آن را بررسی کنید. باید ببینید این آموزش با چه دیتاستهایی انجام شده و چه محدودیتها و سوگیریهایی دارد. همه این اطلاعات باید روی کارت مدل به نمایش در آید.
از طریق لینک زیر میتوانید به دیگر فصلها و قسمتهای دوره آموزشی پردازش زبان طبیعی دسترسی داشته باشید:
[button href=”https://hooshio.com/%D8%B1%D8%B3%D8%A7%D9%86%D9%87-%D9%87%D8%A7/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4-%D8%B2%D8%A8%D8%A7%D9%86-%D8%B7%D8%A8%DB%8C%D8%B9%DB%8C/” type=”btn-default” size=”btn-lg”]آموزش پردازش زبان طبیعی[/button]