در این پست، ما نشان میدهیم که چگونه میتوان یک مدل زبان پروتئینی پیشرفته (pLM) را برای پیشبینی محلیسازی درون سلولی پروتئین بهطور مؤثر تنظیم کرد. آمازون SageMaker.
پروتئین ها ماشین های مولکولی بدن هستند که مسئول همه چیز از حرکت عضلات گرفته تا پاسخ به عفونت ها هستند. با وجود این تنوع، همه پروتئین ها از زنجیره های تکرار شونده مولکول هایی به نام اسیدهای آمینه ساخته شده اند. ژنوم انسان 20 اسید آمینه استاندارد را رمزگذاری می کند که هر کدام ساختار شیمیایی کمی متفاوت دارند. این ها را می توان با حروف الفبا نشان داد، که سپس به ما امکان می دهد پروتئین ها را به عنوان یک رشته متن تجزیه و تحلیل و کشف کنیم. تعداد زیادی از توالی ها و ساختارهای پروتئینی همان چیزی است که به پروتئین ها کاربردهای گسترده ای می دهد.
پروتئین ها همچنین نقش کلیدی در توسعه دارو، به عنوان اهداف بالقوه و همچنین به عنوان درمان دارند. همانطور که در جدول زیر نشان داده شده است، بسیاری از داروهای پرفروش در سال 2022 یا پروتئین ها (به ویژه آنتی بادی ها) یا مولکول های دیگر مانند mRNA بودند که به پروتئین در بدن تبدیل شده بودند. به همین دلیل، بسیاری از محققان علوم زیستی باید به سؤالات مربوط به پروتئین ها سریع تر، ارزان تر و دقیق تر پاسخ دهند.
نام | سازنده | فروش جهانی 2022 (میلیارد دلار آمریکا) | موارد مصرف |
مجلسی | Pfizer / BioNTech | $40.8 | Covid-19 |
اسپیکواکس | مدرن | $21.8 | Covid-19 |
هومیرا | AbbVie | $21.6 | آرتریت، بیماری کرون و غیره |
Keytruda | مرک | $21.0 | سرطانهای مختلف |
منبع داده: Urquhart, L. برترین شرکت ها و داروها بر اساس فروش در سال 2022. Nature Reviews Drug Discovery 22، 260-260 (2023).
از آنجایی که میتوانیم پروتئینها را بهعنوان دنبالهای از کاراکترها نشان دهیم، میتوانیم آنها را با استفاده از تکنیکهایی که در ابتدا برای زبان نوشتاری توسعه داده شدهاند، تجزیه و تحلیل کنیم. این شامل مدلهای زبان بزرگ (LLM) میشود که روی مجموعه دادههای عظیم از قبل آموزش داده شدهاند، که سپس میتوانند برای کارهای خاص، مانند خلاصهسازی متن یا رباتهای گفتگو، تطبیق داده شوند. به طور مشابه، plm ها در پایگاه داده های توالی پروتئین بزرگ با استفاده از یادگیری بدون برچسب و خود نظارت از قبل آموزش داده شده اند. ما میتوانیم آنها را برای پیشبینی چیزهایی مانند ساختار سهبعدی یک پروتئین یا نحوه تعامل آن با مولکولهای دیگر تطبیق دهیم. محققان حتی از plm ها برای طراحی پروتئین های جدید از ابتدا استفاده کرده اند. این ابزارها جایگزین تخصص علمی انسان نمی شوند، اما پتانسیل آن را دارند که توسعه پیش بالینی و طراحی آزمایشی را سرعت بخشند.
یکی از چالش های این مدل ها اندازه آنهاست. همانطور که در شکل زیر نشان داده شده است، هر دو LLM و plM در چند سال گذشته به ترتیب بزرگی رشد کرده اند. این بدان معناست که آموزش آنها با دقت کافی می تواند زمان زیادی طول بکشد. همچنین به این معنی است که برای ذخیره پارامترهای مدل باید از سخت افزار، به ویژه پردازنده های گرافیکی، با مقدار زیادی حافظه استفاده کنید.
زمان های طولانی آموزش، به علاوه نمونه های بزرگ، برابر است با هزینه های بالا، که می تواند این کار را برای بسیاری از محققان دور از دسترس قرار دهد. به عنوان مثال، در سال 2023، الف گروه تحقیق آموزش یک plm 100 میلیارد پارامتری را بر روی 768 پردازنده گرافیکی A100 به مدت 164 روز توضیح داد! خوشبختانه، در بسیاری از موارد، میتوانیم با تطبیق یک plm موجود برای کار خاص خود، در زمان و منابع صرفهجویی کنیم. این تکنیک نامیده می شود تنظیم دقیقو همچنین به ما اجازه می دهد تا ابزارهای پیشرفته را از انواع دیگر مدل سازی زبان قرض بگیریم.
بررسی اجمالی راه حل
مشکل خاصی که در این پست به آن می پردازیم این است محلی سازی درون سلولی: با توجه به یک توالی پروتئین، آیا میتوانیم مدلی بسازیم که بتواند پیشبینی کند که در بیرون (غشاء سلولی) یا داخل سلول زندگی میکند؟ این بخش مهمی از اطلاعات است که می تواند به ما در درک عملکرد و اینکه آیا می تواند یک هدف دارویی خوب باشد یا خیر کمک کند.
ما با دانلود یک مجموعه داده عمومی با استفاده از Amazon SageMaker Studio. سپس از SageMaker برای تنظیم دقیق مدل زبان پروتئین ESM-2 با استفاده از یک روش آموزشی کارآمد استفاده می کنیم. در نهایت، ما مدل را به عنوان یک نقطه پایانی استنتاج بلادرنگ مستقر می کنیم و از آن برای آزمایش برخی از پروتئین های شناخته شده استفاده می کنیم. نمودار زیر این گردش کار را نشان می دهد.
در قسمت های بعدی مراحل آماده سازی داده های آموزشی شما، ایجاد یک اسکریپت آموزشی و اجرای کار آموزشی SageMaker را طی می کنیم. همه کدهای ارائه شده در این پست در دسترس هستند GitHub.
داده های آموزشی را آماده کنید
ما از بخشی از مجموعه داده DeepLoc-2، که حاوی چندین هزار پروتئین SwissProt با مکان های آزمایشی تعیین شده است. ما برای دنباله های با کیفیت بالا بین 100-512 اسید آمینه فیلتر می کنیم:
df = pd.read_csv(
"https://services.healthtech.dtu.dk/services/DeepLoc-2.0/data/Swissprot_Train_Validation_dataset.csv"
).drop(["Unnamed: 0", "Partition"], axis=1)
df["Membrane"] = df["Membrane"].astype("int32")
# filter for sequences between 100 and 512 amino acides
df = df[df["Sequence"].apply(lambda x: len(x)).between(100, 512)]
# Remove unnecessary features
df = df[["Sequence", "Kingdom", "Membrane"]]
سپس، توالی ها را توکن می کنیم و آنها را به مجموعه های آموزشی و ارزیابی تقسیم می کنیم:
dataset = Dataset.from_pandas(df).train_test_split(test_size=0.2, shuffle=True)
tokenizer = AutoTokenizer.from_pretrained("facebook/esm2_t33_650M_UR50D")
def preprocess_data(examples, max_length=512):
text = examples["Sequence"]
encoding = tokenizer(text, truncation=True, max_length=max_length)
encoding["labels"] = examples["Membrane"]
return encoding
encoded_dataset = dataset.map(
preprocess_data,
batched=True,
num_proc=os.cpu_count(),
remove_columns=dataset["train"].column_names,
)
encoded_dataset.set_format("torch")
در نهایت، داده های آموزش و ارزیابی پردازش شده را در آن آپلود می کنیم سرویس ذخیره سازی ساده آمازون (Amazon S3):
train_s3_uri = S3_PATH + "/data/train"
test_s3_uri = S3_PATH + "/data/test"
encoded_dataset["train"].save_to_disk(train_s3_uri)
encoded_dataset["test"].save_to_disk(test_s3_uri)
یک اسکریپت آموزشی ایجاد کنید
حالت اسکریپت SageMaker به شما امکان می دهد کد آموزشی سفارشی خود را در کانتینرهای چارچوب یادگیری ماشینی بهینه شده (ML) که توسط AWS مدیریت می شود اجرا کنید. برای این مثال، ما یک را تطبیق می دهیم اسکریپت موجود برای طبقه بندی متن از در آغوش گرفتن صورت. این به ما امکان می دهد چندین روش را برای بهبود کارایی شغل آموزشی خود امتحان کنیم.
روش 1: کلاس تمرین وزنه
مانند بسیاری از مجموعه دادههای بیولوژیکی، دادههای DeepLoc بهطور نابرابر توزیع میشوند، به این معنی که تعداد پروتئینهای غشایی و غیر غشایی برابر نیست. میتوانیم دادههایمان را دوباره نمونهبرداری کنیم و رکوردهای کلاس اکثریت را کنار بگذاریم. با این حال، این کل داده های آموزشی را کاهش می دهد و به طور بالقوه به دقت ما آسیب می رساند. در عوض، وزنهای کلاس را در طول کار تمرینی محاسبه میکنیم و از آنها برای تنظیم ضرر استفاده میکنیم.
در اسکریپت آموزشی خود، ما به زیر کلاس می دهیم Trainer
کلاس از transformers
با یک WeightedTrainer
کلاسی که وزن کلاس ها را هنگام محاسبه تلفات آنتروپی متقابل در نظر می گیرد. این به جلوگیری از تعصب در مدل ما کمک می کند:
class WeightedTrainer(Trainer):
def __init__(self, class_weights, *args, **kwargs):
self.class_weights = class_weights
super().__init__(*args, **kwargs)
def compute_loss(self, model, inputs, return_outputs=False):
labels = inputs.pop("labels")
outputs = model(**inputs)
logits = outputs.get("logits")
loss_fct = torch.nn.CrossEntropyLoss(
weight=torch.tensor(self.class_weights, device=model.device)
)
loss = loss_fct(logits.view(-1, self.model.config.num_labels), labels.view(-1))
return (loss, outputs) if return_outputs else loss
روش 2: تجمع گرادیان
انباشت گرادیان یک تکنیک آموزشی است که به مدلها اجازه میدهد آموزش را در اندازههای دستهای بزرگتر شبیهسازی کنند. به طور معمول، اندازه دسته (تعداد نمونه های مورد استفاده برای محاسبه گرادیان در یک مرحله آموزشی) توسط ظرفیت حافظه GPU محدود می شود. با انباشت گرادیان، مدل ابتدا گرادیان ها را در دسته های کوچکتر محاسبه می کند. سپس، به جای بهروزرسانی وزنهای مدل فوراً، گرادیانها در چندین دسته کوچک جمع میشوند. هنگامی که گرادیان های انباشته شده با اندازه دسته بزرگتر هدف برابری می کند، مرحله بهینه سازی برای به روز رسانی مدل انجام می شود. این به مدلها اجازه میدهد با دستههای بزرگتر بدون تجاوز از محدودیت حافظه GPU تمرین کنند.
با این حال، محاسبات اضافی برای عبور دسته ای کوچکتر به جلو و عقب مورد نیاز است. افزایش اندازه دسته از طریق انباشت گرادیان می تواند تمرین را کند کند، به خصوص اگر از مراحل انباشت بیش از حد استفاده شود. هدف این است که استفاده از پردازنده گرافیکی را به حداکثر برسانیم اما از کاهش سرعت بیش از حد ناشی از بسیاری از مراحل محاسبه گرادیان اضافی جلوگیری کنیم.
روش 3: ایست بازرسی گرادیان
چک پوینت گرادیان تکنیکی است که حافظه مورد نیاز در طول تمرین را کاهش می دهد و در عین حال زمان محاسباتی را معقول نگه می دارد. شبکههای عصبی بزرگ حافظه زیادی را اشغال میکنند، زیرا باید تمام مقادیر میانی را از گذر به جلو ذخیره کنند تا شیبها را در طول گذر به عقب محاسبه کنند. این می تواند باعث مشکلات حافظه شود. یک راه حل این است که این مقادیر میانی را ذخیره نکنید، اما پس از آن باید آنها را در طول گذر به عقب محاسبه کرد که زمان زیادی می برد.
ایست بازرسی گرادیان یک رویکرد متعادل را ارائه می دهد. فقط برخی از مقادیر میانی را که نامیده می شوند ذخیره می کند پست های بازرسی، و بقیه را در صورت نیاز دوباره محاسبه می کند. بنابراین، از حافظه کمتری نسبت به ذخیره کردن همه چیز استفاده می کند، اما از محاسبات کمتری نسبت به محاسبه مجدد همه چیز استفاده می کند. با انتخاب استراتژیک فعالسازیهایی که برای بازرسی انتخاب شوند، نقطهی کنترل گرادیان شبکههای عصبی بزرگ را قادر میسازد تا با استفاده از حافظه قابل مدیریت و زمان محاسبه آموزش ببینند. این تکنیک مهم آموزش مدل های بسیار بزرگ را که در غیر این صورت با محدودیت های حافظه مواجه می شوند، امکان پذیر می کند.
در اسکریپت آموزشی ما، فعال سازی گرادیان و چک پوینت را با افزودن پارامترهای لازم به TrainingArguments
هدف - شی:
from transformers import TrainingArguments
training_args = TrainingArguments(
gradient_accumulation_steps=4,
gradient_checkpointing=True
)
روش 4: انطباق با رتبه پایین LLMs
مدلهای زبان بزرگ مانند ESM-2 میتوانند حاوی میلیاردها پارامتر باشند که آموزش و اجرای آنها پرهزینه است. محققان یک روش آموزشی به نام انطباق با رتبه پایین (LoRA) توسعه داد تا تنظیم دقیق این مدلهای عظیم را کارآمدتر کند.
ایده کلیدی پشت LoRA این است که هنگام تنظیم دقیق یک مدل برای یک کار خاص، نیازی به به روز رسانی تمام پارامترهای اصلی ندارید. در عوض، LoRA ماتریس های کوچکتر جدیدی را به مدل اضافه می کند که ورودی ها و خروجی ها را تغییر می دهد. فقط این ماتریس های کوچکتر در هنگام تنظیم دقیق به روز می شوند که بسیار سریعتر است و از حافظه کمتری استفاده می کند. پارامترهای مدل اصلی ثابت می مانند.
پس از تنظیم دقیق با LoRA، می توانید ماتریس های کوچک تطبیق داده شده را در مدل اصلی ادغام کنید. یا اگر میخواهید به سرعت مدل را برای کارهای دیگر بدون فراموش کردن کارهای قبلی تنظیم کنید، میتوانید آنها را جدا نگه دارید. به طور کلی، LoRA به LLM ها اجازه می دهد تا با کسری از هزینه معمول به طور موثر با وظایف جدید سازگار شوند.
در اسکریپت آموزشی خود، LoRA را با استفاده از پیکربندی می کنیم PEFT
کتابخانه از چهره در آغوش گرفته:
from peft import get_peft_model, LoraConfig, TaskType
import torch
from transformers import EsmForSequenceClassification
model = EsmForSequenceClassification.from_pretrained(
“facebook/esm2_t33_650M_UR50D”,
Torch_dtype=torch.bfloat16,
Num_labels=2,
)
peft_config = LoraConfig(
task_type=TaskType.SEQ_CLS,
inference_mode=False,
bias="none",
r=8,
lora_alpha=16,
lora_dropout=0.05,
target_modules=[
"query",
"key",
"value",
"EsmSelfOutput.dense",
"EsmIntermediate.dense",
"EsmOutput.dense",
"EsmContactPredictionHead.regression",
"EsmClassificationHead.dense",
"EsmClassificationHead.out_proj",
]
)
model = get_peft_model(model, peft_config)
یک شغل آموزشی SageMaker ارسال کنید
بعد از اینکه اسکریپت آموزشی خود را تعریف کردید، می توانید یک کار آموزشی SageMaker را پیکربندی و ارسال کنید. ابتدا هایپرپارامترها را مشخص کنید:
hyperparameters = {
"model_id": "facebook/esm2_t33_650M_UR50D",
"epochs": 1,
"per_device_train_batch_size": 8,
"gradient_accumulation_steps": 4,
"use_gradient_checkpointing": True,
"lora": True,
}
در مرحله بعد، معیارهایی را که باید از لاگ های آموزشی گرفته شود، تعریف کنید:
metric_definitions = [
{"Name": "epoch", "Regex": "'epoch': ([0-9.]*)"},
{
"Name": "max_gpu_mem",
"Regex": "Max GPU memory use during training: ([0-9.e-]*) MB",
},
{"Name": "train_loss", "Regex": "'loss': ([0-9.e-]*)"},
{
"Name": "train_samples_per_second",
"Regex": "'train_samples_per_second': ([0-9.e-]*)",
},
{"Name": "eval_loss", "Regex": "'eval_loss': ([0-9.e-]*)"},
{"Name": "eval_accuracy", "Regex": "'eval_accuracy': ([0-9.e-]*)"},
]
در نهایت، تخمینگر Hugging Face را تعریف کنید و آن را برای آموزش در نوع نمونه ml.g5.2xlarge ارسال کنید. این یک نوع نمونه مقرون به صرفه است که به طور گسترده در بسیاری از مناطق AWS در دسترس است:
from sagemaker.experiments.run import Run
from sagemaker.huggingface import HuggingFace
from sagemaker.inputs import TrainingInput
hf_estimator = HuggingFace(
base_job_name="esm-2-membrane-ft",
entry_point="lora-train.py",
source_dir="scripts",
instance_type="ml.g5.2xlarge",
instance_count=1,
transformers_version="4.28",
pytorch_version="2.0",
py_version="py310",
output_path=f"{S3_PATH}/output",
role=sagemaker_execution_role,
hyperparameters=hyperparameters,
metric_definitions=metric_definitions,
checkpoint_local_path="/opt/ml/checkpoints",
sagemaker_session=sagemaker_session,
keep_alive_period_in_seconds=3600,
tags=[{"Key": "project", "Value": "esm-fine-tuning"}],
)
with Run(
experiment_name=EXPERIMENT_NAME,
sagemaker_session=sagemaker_session,
) as run:
hf_estimator.fit(
{
"train": TrainingInput(s3_data=train_s3_uri),
"test": TrainingInput(s3_data=test_s3_uri),
}
)
جدول زیر روش های آموزشی مختلفی را که مورد بحث قرار دادیم و تأثیر آنها بر زمان اجرا، دقت و نیازهای حافظه GPU کار ما مقایسه می کند.
پیکر بندی | زمان قابل پرداخت (دقیقه) | دقت ارزیابی | حداکثر استفاده از حافظه GPU (گیگابایت) |
مدل پایه | 28 | 0.91 | 22.6 |
پایه + GA | 21 | 0.90 | 17.8 |
پایه + GC | 29 | 0.91 | 10.2 |
پایه + LoRA | 23 | 0.90 | 18.6 |
تمامی روش ها مدل هایی را با دقت ارزیابی بالا تولید کردند. استفاده از LoRA و فعالسازی گرادیان، زمان اجرا (و هزینه) را به ترتیب 18 و 25 درصد کاهش داد. استفاده از نقطه کنترل گرادیان، حداکثر استفاده از حافظه GPU را تا 55 درصد کاهش داد. بسته به محدودیت های شما (هزینه، زمان، سخت افزار)، یکی از این رویکردها ممکن است منطقی تر از دیگری باشد.
هر یک از این روش ها به تنهایی عملکرد خوبی دارند، اما چه اتفاقی می افتد که از آنها به صورت ترکیبی استفاده کنیم؟ جدول زیر نتایج را به طور خلاصه نشان می دهد.
پیکر بندی | زمان قابل پرداخت (دقیقه) | دقت ارزیابی | حداکثر استفاده از حافظه GPU (گیگابایت) |
همه روش ها | 12 | 0.80 | 3.3 |
در این حالت شاهد کاهش 12 درصدی دقت هستیم. با این حال، ما زمان اجرا را تا 57 درصد و استفاده از حافظه GPU را تا 85 درصد کاهش داده ایم! این کاهش گسترده ای است که به ما امکان می دهد در طیف گسترده ای از انواع نمونه های مقرون به صرفه آموزش ببینیم.
پاک کردن
اگر در حساب AWS خود دنبال میکنید، برای جلوگیری از هزینههای بیشتر، نقاط پایانی و دادههای استنتاج بلادرنگ را که ایجاد کردهاید حذف کنید.
predictor.delete_endpoint()
bucket = boto_session.resource("s3").Bucket(S3_BUCKET)
bucket.objects.filter(Prefix=S3_PREFIX).delete()
نتیجه
در این پست، نحوه تنظیم دقیق مدلهای زبان پروتئینی مانند ESM-2 را برای یک کار علمی مرتبط نشان دادیم. برای اطلاعات بیشتر در مورد استفاده از کتابخانههای Transformers و PEFT برای آموزش plms، پستها را بررسی کنید یادگیری عمیق با پروتئین و ESMBind (ESMB): سازگاری با رتبه پایین ESM-2 برای پیشبینی محل اتصال پروتئین در وبلاگ صورت در آغوش گرفتن. همچنین میتوانید نمونههای بیشتری از استفاده از یادگیری ماشینی برای پیشبینی ویژگیهای پروتئین را پیدا کنید آنالیز عالی پروتئین در AWS مخزن GitHub.
درباره نویسنده
برایان وفادار یک معمار ارشد راه حل های AI/ML در تیم بهداشت جهانی و علوم زندگی در خدمات وب آمازون است. او بیش از 17 سال تجربه در بیوتکنولوژی و یادگیری ماشین دارد و مشتاق کمک به مشتریان در حل چالش های ژنومی و پروتئومی است. او در اوقات فراغت خود از آشپزی و غذا خوردن با دوستان و خانواده اش لذت می برد.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoData.Network Vertical Generative Ai. به خودت قدرت بده دسترسی به اینجا.
- PlatoAiStream. هوش وب 3 دانش تقویت شده دسترسی به اینجا.
- PlatoESG. کربن ، CleanTech، انرژی، محیط، خورشیدی، مدیریت پسماند دسترسی به اینجا.
- PlatoHealth. هوش بیوتکنولوژی و آزمایشات بالینی. دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/machine-learning/efficiently-fine-tune-the-esm-2-protein-language-model-with-amazon-sagemaker/
- : دارد
- :است
- :نه
- $UP
- 07
- 1
- 100
- 17
- 20
- 2022
- 2023
- 22
- 28
- 3d
- 425
- 600
- 7
- 750
- 8
- a
- درباره ما
- حساب
- جمع آوری شده
- تجمع
- دقت
- به درستی
- فعال سازی
- فعال سازی ها
- وفق دادن
- انطباق
- سازگار بودن
- اضافه کردن
- نشانی
- می افزاید:
- پیشرفته
- AI / ML
- هدف
- معرفی
- اجازه می دهد تا
- در امتداد
- الفبا
- همچنین
- آمازون
- آمازون SageMaker
- آمازون خدمات وب
- مقدار
- an
- تحلیل
- تحلیل
- و
- دیگر
- پاسخ
- هر
- روش
- رویکردها
- معماری
- هستند
- AS
- At
- در دسترس
- اجتناب از
- دور
- AWS
- به عقب
- متعادل
- BE
- زیرا
- پشت سر
- میان
- تعصب
- بزرگتر
- میلیاردها
- الزام آور
- بیوتکنولوژی
- بلاگ
- بدن
- امانت گرفتن
- هر دو
- برایان
- ساختن
- اما
- by
- محاسبه
- محاسبه می کند
- محاسبه
- نام
- CAN
- ظرفیت
- گرفتن
- مورد
- موارد
- علت
- سلول
- زنجیر
- زنجیر
- به چالش
- چالش ها
- کاراکتر
- بار
- chatbots
- ارزان تر
- بررسی
- شیمیایی
- کلاس
- رمز
- ترکیب
- شرکت
- محاسبه
- محاسباتی
- محدودیت ها
- شامل
- ظروف
- شامل
- هزینه
- مقرون به صرفه
- میتوانست
- ایجاد
- ایجاد شده
- سفارشی
- مشتریان
- داده ها
- پایگاه های داده
- مجموعه داده ها
- کاهش
- کاهش یافته
- تعريف كردن
- مشخص
- نشان دادن
- نشان
- بستگی دارد
- گسترش
- شرح داده شده
- طرح
- با وجود
- مشخص
- توسعه
- پروژه
- دستگاه
- نمودار
- مختلف
- کشف
- بحث کردیم
- مرض
- توزیع شده
- آیا
- پایین
- دانلود
- دارو
- مواد مخدر
- در طی
- هر
- اثر
- به طور موثر
- بهره وری
- موثر
- موثر
- هر دو
- دیگر
- را قادر می سازد
- پشتیبانی می کند
- نقطه پایانی
- عظیم
- دوره
- دوره ها
- برابر
- برابر
- به خصوص
- ارزیابی
- حتی
- همه چیز
- مثال
- مثال ها
- بیش از
- بیش از اندازه
- موجود
- گران
- تجربه
- آزمایش
- تخصص
- اکتشاف
- اضافی
- چهره
- خانواده
- سریعتر
- امکان پذیر است
- ویژه
- امکانات
- کمی از
- شکل
- فیلتر
- سرانجام
- پیدا کردن
- پایان
- نام خانوادگی
- پیروی
- برای
- خوشبختانه
- به جلو
- کسر
- چارچوب
- دوستان
- از جانب
- منجمد
- تابع
- بیشتر
- دریافت کنید
- GitHub
- داده
- می دهد
- جهانی
- Go
- خوب
- GPU
- GPU ها
- شیب ها
- رشد کرد
- اتفاق می افتد
- سخت افزار
- آیا
- he
- بهداشت و درمان
- HealthTech
- کمک
- کمک
- کمک می کند
- زیاد
- با کیفیت بالا
- خود را
- چگونه
- چگونه
- اما
- HTML
- HTTP
- HTTPS
- بزرگ
- صورت در آغوش گرفته
- انسان
- صدمه
- اندیشه
- if
- نشان می دهد
- واردات
- مهم
- بهبود
- in
- شامل
- افزایش
- عفونت
- اطلاعات
- ورودی
- داخل
- نمونه
- در عوض
- تعامل
- به
- مسائل
- IT
- کار
- نگاه داشتن
- نگهداری
- کلید
- پادشاهی
- شناخته شده
- برچسب ها
- زبان
- بزرگ
- بزرگتر
- یادگیری
- کمتر
- اجازه می دهد تا
- کتابخانه ها
- کتابخانه
- زندگی
- علم زندگی
- علوم زندگی
- پسندیدن
- محدود
- محدودیت
- محدود شده
- زندگی
- بومی سازی
- مکان
- طولانی
- مدت زمان طولانی
- خاموش
- خیلی
- کم
- وفادار
- دستگاه
- فراگیری ماشین
- ماشین آلات
- ساخته
- اکثریت
- ساخت
- باعث می شود
- قابل کنترل
- اداره می شود
- بسیاری
- عظیم
- حداکثر
- بیشینه ساختن
- بیشترین
- ممکن است..
- معنی
- به معنی
- حافظه
- ادغام کردن
- روش
- روش
- متریک
- دقیقه
- ML
- مدل
- مدل سازی
- مدل
- مولکولی
- بیش
- کارآمدتر
- متحرک
- mRNA ژن
- بسیار
- چندگانه
- نام
- طبیعت
- لازم
- نیاز
- ضروری
- شبکه
- عصبی
- شبکه های عصبی
- جدید
- هیچ
- رمان
- عدد
- هدف
- اشیاء
- of
- on
- ONE
- آنهایی که
- فقط
- بهینه سازی
- بهینه
- or
- سفارش
- سفارشات
- اصلی
- در اصل
- دیگر
- دیگران
- در غیر این صورت
- ما
- خارج
- خروجی
- خارج از
- روی
- به طور کلی
- خود
- پارامترهای
- بخش
- عبور
- عبور می کند
- احساساتی
- گذشته
- انجام
- انجام
- قطعه
- افلاطون
- هوش داده افلاطون
- PlatoData
- بازی
- به علاوه
- ممکن
- پست
- پست ها
- پتانسیل
- بالقوه
- پیش بینی
- آماده
- جلوگیری از
- قبلی
- مشکل
- فرآوری شده
- ساخته
- پروژه
- املاک
- پروتئين
- پروتئین ها
- فراهم می کند
- عمومی
- قرار دادن
- پرس و جو
- سوالات
- به سرعت
- محدوده
- رتبه بندی
- رسیدن به
- زمان واقعی
- معقول
- سوابق
- كاهش دادن
- کاهش
- را کاهش می دهد
- کاهش
- regex
- مناطق
- مربوط
- برداشتن
- جایگزین کردن
- مخزن
- نشان دادن
- نمایندگی
- مورد نیاز
- محققان
- منابع
- به ترتیب
- پاسخ دادن
- مسئوليت
- نتایج
- برگشت
- بررسی
- راست
- نقش
- دویدن
- زمان اجرا
- حکیم ساز
- حراجی
- ذخیره
- علم
- علوم
- علمی
- خراش
- خط
- اسکریپت
- بخش
- دیدن
- انتخاب
- خود
- ارشد
- حس
- جداگانه
- دنباله
- خدمات
- مجموعه
- چند
- نشان داده شده
- به طور مشابه
- ساده
- شبیه سازی
- سایت
- اندازه
- اندازه
- کمی متفاوت
- کند
- کندی
- کوچک
- کوچکتر
- راه حل
- مزایا
- حل
- برخی از
- منبع
- خاص
- سرعت
- انشعاب
- استاندارد
- شروع
- وضعیت هنر
- ماندن
- به طور پیوسته
- گام
- مراحل
- ذخیره سازی
- opbevare
- ذخیره سازی
- استراتژیک
- رشته
- ساختار
- ساختار
- ارسال
- کافی
- جدول
- گرفتن
- طول می کشد
- هدف
- اهداف
- کار
- وظایف
- تیم
- تکنیک
- تکنیک
- آزمون
- متن
- نسبت به
- که
- La
- شان
- آنها
- خودشان
- سپس
- درمان های
- آنجا.
- از این رو
- اینها
- آنها
- اشیاء
- این
- هزار
- از طریق
- زمان
- بار
- به
- tokenize
- هم
- ابزار
- مشعل
- جمع
- قطار
- آموزش دیده
- آموزش
- دگرگون کردن
- ترانسفورماتور
- محاکمه
- درست
- امتحان
- میزان سازی
- دور زدن
- نوع
- انواع
- به طور معمول
- فهمیدن
- بی نام
- غیر ضروری
- بروزرسانی
- به روز شده
- به روز رسانی
- us
- استفاده
- دلار آمریکا
- استفاده کنید
- استفاده
- استفاده
- با استفاده از
- معمول
- ارزش
- ارزشها
- تنوع
- بسیار
- از طريق
- می خواهم
- we
- وب
- خدمات وب
- خوب
- بود
- چی
- چه زمانی
- چه
- که
- در حین
- وسیع
- دامنه گسترده
- به طور گسترده ای
- با
- بدون
- مهاجرت کاری
- کار کردن
- گردش کار
- خواهد بود
- کتبی
- X
- سال
- شما
- شما
- زفیرنت