در این مقاله، قصد داریم به زبان ساده و کاربردی توضیح دهیم که چگونه میتوانید متون خود را با استفاده از مدلهای هوش مصنوعی پیشپردازش کنید. همچنین به مفاهیمی مانند input_ids و attention_mask پرداختهایم که برای درک بهتر عملکرد این مدلها ضروری هستند. اگر شما هم علاقهمند به استفاده از مدلهای پیشرفته متنباز مانند Llama-2 هستید، این مقاله برای شماست.
چگونه متن را برای مدل هوش مصنوعی آماده کنیم؟
برای استفاده از مدلهای هوش مصنوعی مانند Llama-2-7b-chat-hf، اولین قدم پیشپردازش متن است. پیشپردازش یعنی تبدیل متن خام (مانند یک جمله) به فرمت عددی که مدل بتواند آن را بفهمد. در اینجا یک نمونه کد ساده و کاربردی برای پیشپردازش آوردهایم:
from transformers import LlamaTokenizer
from huggingface_hub import login
login(token="<your_token>")
def preprocess_text(text):
tokenizer = LlamaTokenizer.from_pretrained("meta-Llama/Llama-2-7b-chat-hf")
tokens = tokenizer(text, return_tensors="pt")
return tokens
sample_text = "This is an example sentence for preprocessing."
preprocessed_data = preprocess_text(sample_text)
print(preprocessed_data)
این کد چه کاری انجام میدهد؟
اتصال به مدلهای Hugging Face:
ابتدا با استفاده از توکن احراز هویت (API Token) به حساب کاربری خود در Hugging Face متصل میشوید. این کار برای دسترسی به مدلهای میزبانیشده ضروری است.بارگذاری توکنایزر:
توکنایزر مدل خاصی مثل Llama-2-7b-chat-hf بارگذاری میشود. توکنایزر ابزاری است که متن را به اجزای کوچکتر (به نام توکن) و سپس به اعداد تبدیل میکند.تبدیل متن به فرمت عددی:
متن ورودی با استفاده از توکنایزر پردازش میشود و به فرمت input_ids و attention_mask تبدیل میشود که مدل میتواند با آنها کار کند.چاپ نتیجه:
نتیجه نهایی (شامل اعداد و ماسک توجه) به شما نمایش داده میشود.
input_ids و attention_mask چیستند؟
input_ids (شناسههای ورودی):
این اعداد نمایشی دیجیتالی از متن شما هستند. توکنایزر هر کلمه یا بخشی از کلمه را به یک عدد منحصربهفرد تبدیل میکند. این شناسهها به مدل میگویند متن اصلی شما چه بوده است.
attention_mask (ماسک توجه):
این ماسک مشخص میکند که کدام بخش از متن واقعی است و کدام بخش فقط برای پر کردن اضافه شده (padding). عدد ۱ نشاندهنده کلمات مهم و واقعی، و عدد ۰ نشاندهنده بخشهای اضافی است.
چرا input_ids و attention_mask مهم هستند؟
- input_ids: متن شما را برای مدل قابل فهم میکند.
- attention_mask: کمک میکند مدل روی بخشهای مهم تمرکز کند و بخشهای اضافی را نادیده بگیرد.
{
"input_ids": [101, 1045, 2293, 2071, 0],
"attention_mask": [1, 1, 1, 1, 0]
}
- input_ids: نمایش عددی کلمات جمله است.
- attention_mask: نشان میدهد که کدام کلمات واقعی و مهم هستند.
مزایای پیشپردازش متن با Llama و Hugging Face
دسترسی آسان به مدلهای پیشرفته:
با استفاده از Hugging Face، میتوانید به مدلهای متنباز پیشرفتهای مانند Llama دسترسی پیدا کنید.سادهسازی فرآیند:
کد ارائهشده این امکان را فراهم میکند که متن را به راحتی به فرمت مورد نیاز مدل تبدیل کنید.کاربردهای متنوع:
از این پیشپردازش میتوانید در زمینههای مختلف مانند تولید متن، ترجمه، پاسخ به سوالات و غیره استفاده کنید.
پیشپردازش متن مرحلهای ضروری برای استفاده از مدلهای هوش مصنوعی است. با تبدیل متن به input_ids و attention_mask، مدل میتواند به درستی متن را پردازش کند و نتایج دقیقی ارائه دهد. با استفاده از ابزارهای سادهای مثل کدی که ارائه شد، میتوانید به راحتی از مدلهای پیشرفته مانند Llama-2 بهره ببرید.