এই পোস্টে, আমরা প্রোটিন উপকোষীয় স্থানীয়করণ ব্যবহার করে ভবিষ্যদ্বাণী করতে একটি অত্যাধুনিক প্রোটিন ভাষা মডেল (pLM) কীভাবে দক্ষতার সাথে সূক্ষ্ম-টিউন করা যায় তা প্রদর্শন করি। আমাজন সেজমেকার.
প্রোটিন হ'ল শরীরের আণবিক মেশিন, যা আপনার পেশী সরানো থেকে সংক্রমণের প্রতিক্রিয়া পর্যন্ত সমস্ত কিছুর জন্য দায়ী। এই বৈচিত্র্য সত্ত্বেও, সমস্ত প্রোটিন অ্যামিনো অ্যাসিড নামক অণুর পুনরাবৃত্তিমূলক চেইন দিয়ে তৈরি। মানব জিনোম 20টি স্ট্যান্ডার্ড অ্যামিনো অ্যাসিডকে এনকোড করে, প্রতিটির রাসায়নিক গঠন কিছুটা আলাদা। এগুলিকে বর্ণমালার অক্ষর দ্বারা উপস্থাপন করা যেতে পারে, যা আমাদেরকে পাঠ্য স্ট্রিং হিসাবে প্রোটিনগুলিকে বিশ্লেষণ এবং অন্বেষণ করতে দেয়। প্রোটিন ক্রম এবং কাঠামোর বিপুল সম্ভাব্য সংখ্যক প্রোটিন তাদের বিভিন্ন ধরণের ব্যবহার দেয়।
প্রোটিনগুলি ওষুধের বিকাশে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে, সম্ভাব্য লক্ষ্য হিসাবে কিন্তু থেরাপিউটিক হিসাবেও। নিম্নলিখিত সারণীতে দেখানো হয়েছে, 2022 সালে সর্বাধিক বিক্রিত ওষুধগুলির মধ্যে অনেকগুলি হয় প্রোটিন (বিশেষত অ্যান্টিবডি) বা mRNA-এর মতো অন্যান্য অণুগুলি শরীরের প্রোটিনে রূপান্তরিত হয়েছিল। এই কারণে, অনেক জীবন বিজ্ঞান গবেষকদের প্রোটিন সম্পর্কে দ্রুত, সস্তা এবং আরও সঠিকভাবে প্রশ্নের উত্তর দিতে হবে।
নাম | উত্পাদক | 2022 বিশ্বব্যাপী বিক্রয় ($ বিলিয়ন মার্কিন ডলার) | ইঙ্গিতও |
কমিরনাটি | Pfizer / BioNTech | $40.8 | COVID -19 |
স্পাইকভ্যাক্স | আধুনিক | $21.8 | COVID -19 |
Humira | AbbVie | $21.6 | আর্থ্রাইটিস, ক্রোনস ডিজিজ এবং অন্যান্য |
Keytruda | মার্ক | $21.0 | বিভিন্ন ক্যান্সার |
তথ্য উৎস: Urquhart, L. 2022 সালে বিক্রয় দ্বারা শীর্ষ কোম্পানি এবং ওষুধ. নেচার রিভিউ ড্রাগ ডিসকভারি 22, 260–260 (2023)।
যেহেতু আমরা প্রোটিনগুলিকে অক্ষরের ক্রম হিসাবে উপস্থাপন করতে পারি, আমরা লিখিত ভাষার জন্য মূলত তৈরি করা কৌশলগুলি ব্যবহার করে তাদের বিশ্লেষণ করতে পারি। এর মধ্যে রয়েছে বিশাল ডেটাসেটে আগে থেকে প্রশিক্ষিত বড় ল্যাঙ্গুয়েজ মডেল (LLMs), যেগুলিকে তারপর নির্দিষ্ট কাজের জন্য মানিয়ে নেওয়া যেতে পারে, যেমন টেক্সট সংক্ষিপ্তকরণ বা চ্যাটবট। একইভাবে, পিএলএমগুলি লেবেলবিহীন, স্ব-তত্ত্বাবধানে শেখার ব্যবহার করে বৃহৎ প্রোটিন সিকোয়েন্স ডেটাবেসে প্রাক-প্রশিক্ষিত। প্রোটিনের 3D গঠন বা এটি কীভাবে অন্যান্য অণুর সাথে মিথস্ক্রিয়া করতে পারে তার মতো জিনিসগুলির ভবিষ্যদ্বাণী করতে আমরা তাদের মানিয়ে নিতে পারি। গবেষকরা এমনকি স্ক্র্যাচ থেকে অভিনব প্রোটিন ডিজাইন করতে পিএলএম ব্যবহার করেছেন। এই সরঞ্জামগুলি মানুষের বৈজ্ঞানিক দক্ষতা প্রতিস্থাপন করে না, তবে তাদের প্রাক-ক্লিনিকাল বিকাশ এবং ট্রায়াল ডিজাইনের গতি বাড়ানোর সম্ভাবনা রয়েছে।
এই মডেলগুলির সাথে একটি চ্যালেঞ্জ হল তাদের আকার। এলএলএম এবং পিএলএম উভয়ই বিগত কয়েক বছরে ব্যাপকভাবে বৃদ্ধি পেয়েছে, যেমনটি নিম্নলিখিত চিত্রে চিত্রিত হয়েছে। এর মানে হল যে যথেষ্ট নির্ভুলতার জন্য তাদের প্রশিক্ষণ দিতে এটি দীর্ঘ সময় নিতে পারে। এর মানে হল যে মডেল প্যারামিটারগুলি সঞ্চয় করার জন্য আপনাকে প্রচুর পরিমাণে মেমরি সহ হার্ডওয়্যার, বিশেষ করে GPU ব্যবহার করতে হবে।
দীর্ঘ প্রশিক্ষণের সময়, এবং বড় উদাহরণ, উচ্চ খরচের সমান, যা এই কাজটিকে অনেক গবেষকের নাগালের বাইরে রাখতে পারে। উদাহরণস্বরূপ, 2023 সালে, ক গবেষক দল 100 দিনের জন্য 768 A100 GPU-তে 164 বিলিয়ন-প্যারামিটার পিএলএম প্রশিক্ষণের বর্ণনা! সৌভাগ্যবশত, অনেক ক্ষেত্রে আমরা আমাদের নির্দিষ্ট টাস্কে বিদ্যমান পিএলএমকে মানিয়ে নিয়ে সময় এবং সম্পদ বাঁচাতে পারি। এই কৌশল বলা হয় ফাইন টিউনিং, এবং আমাদের অন্যান্য ধরনের ভাষা মডেলিং থেকে উন্নত সরঞ্জাম ধার করার অনুমতি দেয়।
সমাধান ওভারভিউ
এই পোস্টে আমরা যে নির্দিষ্ট সমস্যাটি সমাধান করি তা হল উপকোষীয় স্থানীয়করণ: একটি প্রোটিন ক্রম প্রদত্ত, আমরা কি এমন একটি মডেল তৈরি করতে পারি যা ভবিষ্যদ্বাণী করতে পারে যে এটি একটি কোষের বাইরে (কোষ ঝিল্লি) বা ভিতরে থাকে? এটি একটি গুরুত্বপূর্ণ তথ্য যা আমাদের ফাংশন বুঝতে সাহায্য করতে পারে এবং এটি একটি ভাল ড্রাগ লক্ষ্য তৈরি করবে কিনা।
আমরা ব্যবহার করে একটি পাবলিক ডেটাসেট ডাউনলোড করে শুরু করি অ্যামাজন সেজমেকার স্টুডিও. তারপরে আমরা একটি দক্ষ প্রশিক্ষণ পদ্ধতি ব্যবহার করে ESM-2 প্রোটিন ভাষার মডেলটি সূক্ষ্ম-টিউন করতে সেজমেকার ব্যবহার করি। অবশেষে, আমরা মডেলটিকে একটি রিয়েল-টাইম ইনফারেন্স এন্ডপয়েন্ট হিসাবে স্থাপন করি এবং কিছু পরিচিত প্রোটিন পরীক্ষা করতে এটি ব্যবহার করি। নিম্নলিখিত চিত্রটি এই কর্মপ্রবাহকে চিত্রিত করে।
নিম্নলিখিত বিভাগগুলিতে, আমরা আপনার প্রশিক্ষণের ডেটা প্রস্তুত করতে, একটি প্রশিক্ষণের স্ক্রিপ্ট তৈরি করতে এবং একটি সেজমেকার প্রশিক্ষণের কাজ চালানোর পদক্ষেপগুলি দিয়ে যাই। এই পোস্টে বৈশিষ্ট্যযুক্ত সমস্ত কোড পাওয়া যায় GitHub.
প্রশিক্ষণের তথ্য প্রস্তুত করুন
আমরা এর অংশ ব্যবহার করি DeepLoc-2 ডেটাসেট, যা পরীক্ষামূলকভাবে নির্ধারিত অবস্থান সহ কয়েক হাজার সুইসপ্রট প্রোটিন ধারণ করে। আমরা 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)
একটি প্রশিক্ষণ স্ক্রিপ্ট তৈরি করুন
সেজমেকার স্ক্রিপ্ট মোড AWS দ্বারা পরিচালিত অপ্টিমাইজড মেশিন লার্নিং (ML) ফ্রেমওয়ার্ক কন্টেনারে আপনার কাস্টম ট্রেনিং কোড চালানোর অনুমতি দেয়। এই উদাহরণের জন্য, আমরা একটি অভিযোজিত পাঠ্য শ্রেণীবিভাগের জন্য বিদ্যমান স্ক্রিপ্ট আলিঙ্গন মুখ থেকে. এটি আমাদের প্রশিক্ষণ কাজের দক্ষতা উন্নত করার জন্য বিভিন্ন পদ্ধতি ব্যবহার করার অনুমতি দেয়।
পদ্ধতি 1: ওজনযুক্ত প্রশিক্ষণ ক্লাস
অনেক জৈবিক ডেটাসেটের মতো, ডিপলোক ডেটা অসমভাবে বিতরণ করা হয়, যার অর্থ ঝিল্লি এবং অ-ঝিল্লি প্রোটিনের সমান সংখ্যক নেই। আমরা আমাদের ডেটা পুনরায় নমুনা করতে পারি এবং সংখ্যাগরিষ্ঠ শ্রেণীর থেকে রেকর্ড বাতিল করতে পারি। যাইহোক, এটি মোট প্রশিক্ষণের ডেটা হ্রাস করবে এবং সম্ভাব্যভাবে আমাদের সঠিকতাকে ক্ষতিগ্রস্ত করবে। পরিবর্তে, আমরা প্রশিক্ষণ কাজের সময় ক্লাসের ওজন গণনা করি এবং ক্ষতি সামঞ্জস্য করতে তাদের ব্যবহার করি।
আমাদের প্রশিক্ষণ স্ক্রিপ্টে, আমরা সাবক্লাস করি 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 মেমরি সীমা অতিক্রম না করে কার্যকরভাবে বড় ব্যাচের সাথে প্রশিক্ষণ দিতে দেয়।
যাইহোক, ছোট ব্যাচের ফরোয়ার্ড এবং পিছিয়ে পড়া পাসের জন্য অতিরিক্ত গণনার প্রয়োজন। গ্রেডিয়েন্ট সঞ্চয়নের মাধ্যমে ব্যাচের আকার বর্ধিত করা প্রশিক্ষণকে ধীর করে দিতে পারে, বিশেষ করে যদি অনেকগুলি সঞ্চয় পদক্ষেপ ব্যবহার করা হয়। লক্ষ্য হল GPU ব্যবহার সর্বাধিক করা কিন্তু অতিরিক্ত গ্রেডিয়েন্ট কম্পিউটেশন ধাপগুলি থেকে অত্যধিক ধীরগতি এড়ানো।
পদ্ধতি 3: গ্রেডিয়েন্ট চেকপয়েন্টিং
গ্রেডিয়েন্ট চেকপয়েন্টিং এমন একটি কৌশল যা প্রশিক্ষণের সময় প্রয়োজনীয় মেমরি হ্রাস করে এবং গণনাগত সময়কে যুক্তিসঙ্গত রাখে। বড় নিউরাল নেটওয়ার্কগুলি প্রচুর মেমরি গ্রহণ করে কারণ তাদের পিছনের পাসের সময় গ্রেডিয়েন্টগুলি গণনা করার জন্য ফরোয়ার্ড পাস থেকে সমস্ত মধ্যবর্তী মান সংরক্ষণ করতে হয়। এর ফলে স্মৃতির সমস্যা হতে পারে। একটি সমাধান হল এই মধ্যবর্তী মানগুলি সংরক্ষণ না করা, কিন্তু তারপরে তাদের পিছনের পাসের সময় পুনরায় গণনা করতে হবে, যা অনেক সময় নেয়।
গ্রেডিয়েন্ট চেকপয়েন্টিং একটি ভারসাম্যপূর্ণ পদ্ধতি প্রদান করে। এটি শুধুমাত্র মধ্যবর্তী মানগুলির কিছু সংরক্ষণ করে, যাকে বলা হয় চেকপয়েন্ট, এবং প্রয়োজন অনুসারে অন্যদের পুনঃগণনা করে। অতএব, এটি সবকিছু সংরক্ষণ করার চেয়ে কম মেমরি ব্যবহার করে, তবে সবকিছু পুনঃগণনা করার চেয়েও কম গণনা করে। কোন অ্যাক্টিভেশন চেকপয়েন্ট করতে হবে তা কৌশলগতভাবে নির্বাচন করে, গ্রেডিয়েন্ট চেকপয়েন্টিং বৃহৎ নিউরাল নেটওয়ার্কগুলিকে পরিচালনাযোগ্য মেমরি ব্যবহার এবং গণনার সময় নিয়ে প্রশিক্ষণ দিতে সক্ষম করে। এই গুরুত্বপূর্ণ কৌশলটি খুব বড় মডেলগুলিকে প্রশিক্ষণ দেওয়া সম্ভবপর করে তোলে যা অন্যথায় মেমরির সীমাবদ্ধতার মধ্যে চলে যাবে।
আমাদের প্রশিক্ষণ স্ক্রিপ্টে, আমরা প্রয়োজনীয় প্যারামিটার যোগ করে গ্রেডিয়েন্ট অ্যাক্টিভেশন এবং চেকপয়েন্টিং চালু করি TrainingArguments
বস্তু:
from transformers import TrainingArguments
training_args = TrainingArguments(
gradient_accumulation_steps=4,
gradient_checkpointing=True
)
পদ্ধতি 4: এলএলএম-এর নিম্ন-র্যাঙ্ক অভিযোজন
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-]*)"},
]
অবশেষে, একটি আলিঙ্গন মুখ অনুমানকারী সংজ্ঞায়িত করুন এবং একটি 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 মেমরি ব্যবহার (GB) |
বেস মডেল | 28 | 0.91 | 22.6 |
বেস + GA | 21 | 0.90 | 17.8 |
বেস + জিসি | 29 | 0.91 | 10.2 |
বেস + LoRA | 23 | 0.90 | 18.6 |
সমস্ত পদ্ধতি উচ্চ মূল্যায়ন নির্ভুলতার সাথে মডেল তৈরি করেছে। LoRA এবং গ্রেডিয়েন্ট অ্যাক্টিভেশন ব্যবহার করে রানটাইম (এবং খরচ) যথাক্রমে 18% এবং 25% হ্রাস পেয়েছে। গ্রেডিয়েন্ট চেকপয়েন্টিং ব্যবহার করে সর্বাধিক GPU মেমরি ব্যবহার 55% হ্রাস পেয়েছে। আপনার সীমাবদ্ধতার (খরচ, সময়, হার্ডওয়্যার) উপর নির্ভর করে, এই পদ্ধতিগুলির মধ্যে একটি অন্যটির চেয়ে বেশি অর্থপূর্ণ হতে পারে।
এই পদ্ধতিগুলির প্রত্যেকটি নিজেরাই ভাল কাজ করে, কিন্তু যখন আমরা সেগুলিকে একত্রিত করে ব্যবহার করি তখন কী হয়? নিম্নলিখিত সারণী ফলাফলগুলি সংক্ষিপ্ত করে।
কনফিগারেশন | বিলযোগ্য সময় (মিনিট) | মূল্যায়ন নির্ভুলতা | সর্বাধিক GPU মেমরি ব্যবহার (GB) |
সমস্ত পদ্ধতি | 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 এর মতো প্রোটিন ভাষার মডেলগুলিকে দক্ষতার সাথে সূক্ষ্ম-টিউন করা যায়। pLMS প্রশিক্ষণের জন্য ট্রান্সফরমার এবং PEFT লাইব্রেরি ব্যবহার করার বিষয়ে আরও তথ্যের জন্য, পোস্টগুলি দেখুন প্রোটিন সঙ্গে গভীর শিক্ষা এবং ESMBind (ESMB): প্রোটিন বাইন্ডিং সাইটের পূর্বাভাসের জন্য ESM-2-এর নিম্ন র্যাঙ্ক অভিযোজন আলিঙ্গন মুখ ব্লগে. এছাড়াও আপনি প্রোটিন বৈশিষ্ট্য ভবিষ্যদ্বাণী করতে মেশিন লার্নিং ব্যবহার করার আরও উদাহরণ পেতে পারেন AWS-এ দুর্দান্ত প্রোটিন বিশ্লেষণ GitHub সংগ্রহস্থল।
লেখক সম্পর্কে
ব্রায়ান অনুগত অ্যামাজন ওয়েব সার্ভিসে গ্লোবাল হেলথকেয়ার এবং লাইফ সায়েন্সেস টিমের একজন সিনিয়র এআই/এমএল সলিউশন আর্কিটেক্ট। তার বায়োটেকনোলজি এবং মেশিন লার্নিং-এ 17 বছরেরও বেশি অভিজ্ঞতা রয়েছে এবং গ্রাহকদের জিনোমিক এবং প্রোটিওমিক চ্যালেঞ্জগুলি সমাধান করতে সাহায্য করার বিষয়ে উত্সাহী৷ তার অবসর সময়ে, তিনি তার বন্ধু এবং পরিবারের সাথে রান্না এবং খাওয়া উপভোগ করেন।
- এসইও চালিত বিষয়বস্তু এবং পিআর বিতরণ। আজই পরিবর্ধিত পান।
- PlatoData.Network উল্লম্ব জেনারেটিভ Ai. নিজেকে ক্ষমতায়িত করুন। এখানে প্রবেশ করুন.
- প্লেটোএআইস্ট্রিম। Web3 ইন্টেলিজেন্স। জ্ঞান প্রসারিত. এখানে প্রবেশ করুন.
- প্লেটোইএসজি। কার্বন, ক্লিনটেক, শক্তি, পরিবেশ সৌর, বর্জ্য ব্যবস্থাপনা. এখানে প্রবেশ করুন.
- প্লেটো হেলথ। বায়োটেক এবং ক্লিনিক্যাল ট্রায়াল ইন্টেলিজেন্স। এখানে প্রবেশ করুন.
- উত্স: https://aws.amazon.com/blogs/machine-learning/efficiently-fine-tune-the-esm-2-protein-language-model-with-amazon-sagemaker/
- : আছে
- : হয়
- :না
- $ ইউপি
- 07
- 1
- 100
- 17
- 20
- 2022
- 2023
- 22
- 28
- 3d
- 425
- 600
- 7
- 750
- 8
- a
- সম্পর্কে
- হিসাব
- পুঞ্জীভূত
- আহরণ
- সঠিকতা
- সঠিক
- সক্রিয়করণ
- সক্রিয়করণ
- খাপ খাওয়ানো
- অভিযোজন
- অভিযোজিত
- যোগ
- ঠিকানা
- যোগ করে
- অগ্রসর
- এআই / এমএল
- লক্ষ্য
- সব
- অনুমতি
- বরাবর
- বর্ণমালা
- এছাড়াও
- মর্দানী স্ত্রীলোক
- আমাজন সেজমেকার
- অ্যামাজন ওয়েব সার্ভিসেস
- পরিমাণে
- an
- বিশ্লেষণ
- বিশ্লেষণ করা
- এবং
- অন্য
- উত্তর
- কোন
- অভিগমন
- পন্থা
- স্থাপত্য
- রয়েছি
- AS
- At
- সহজলভ্য
- এড়াতে
- দূরে
- ডেস্কটপ AWS
- পিছনে
- সুষম
- BE
- কারণ
- পিছনে
- মধ্যে
- পক্ষপাত
- বড়
- কোটি কোটি
- বাঁধাই
- জৈবপ্রযুক্তি
- ব্লগ
- শরীর
- ধার করা
- উভয়
- ব্রায়ান
- নির্মাণ করা
- কিন্তু
- by
- গণনা করা
- হিসাব করে
- গণক
- নামক
- CAN
- ধারণক্ষমতা
- গ্রেপ্তার
- কেস
- মামলা
- কারণ
- কোষ
- চেন
- চেইন
- চ্যালেঞ্জ
- চ্যালেঞ্জ
- অক্ষর
- চার্জ
- chatbots
- সস্তা
- চেক
- রাসায়নিক
- শ্রেণী
- কোড
- সমাহার
- কোম্পানি
- গণনা
- গণনা
- সীমাবদ্ধতার
- ধারণ করা
- কন্টেনারগুলি
- ধারণ
- মূল্য
- সাশ্রয়ের
- পারা
- সৃষ্টি
- নির্মিত
- প্রথা
- গ্রাহকদের
- উপাত্ত
- ডাটাবেস
- ডেটাসেট
- হ্রাস
- কমান
- নির্ধারণ করা
- সংজ্ঞায়িত
- প্রদর্শন
- প্রদর্শিত
- নির্ভর করে
- স্থাপন
- বর্ণিত
- নকশা
- সত্ত্বেও
- নির্ধারিত
- উন্নত
- উন্নয়ন
- যন্ত্র
- নকশা
- বিভিন্ন
- আবিষ্কার
- আলোচনা
- রোগ
- বণ্টিত
- Dont
- নিচে
- ডাউনলোডিং
- ড্রাগ
- ওষুধের
- সময়
- প্রতি
- প্রভাব
- কার্যকরীভাবে
- দক্ষতা
- দক্ষ
- দক্ষতার
- পারেন
- আর
- সম্ভব
- এনকোডিং
- শেষপ্রান্ত
- প্রচুর
- কাল
- পর্বগুলি
- সমান
- সমান
- বিশেষত
- মূল্যায়ন
- এমন কি
- সব
- উদাহরণ
- উদাহরণ
- মাত্রাধিক
- অত্যধিক
- বিদ্যমান
- ব্যয়বহুল
- অভিজ্ঞতা
- পরীক্ষা-নিরীক্ষা
- ল্যাপারোস্কোপিক পদ্ধতি
- অন্বেষণ করুণ
- অতিরিক্ত
- মুখ
- পরিবার
- দ্রুত
- সাধ্য
- সুগঠনবিশিষ্ট
- বৈশিষ্ট্য
- কয়েক
- ব্যক্তিত্ব
- ছাঁকনি
- পরিশেষে
- আবিষ্কার
- জরিমানা
- প্রথম
- অনুসরণ
- জন্য
- ভাগ্যক্রমে
- অগ্রবর্তী
- ভগ্নাংশ
- ফ্রেমওয়ার্ক
- বন্ধুদের
- থেকে
- হিমায়িত
- ক্রিয়া
- অধিকতর
- পাওয়া
- GitHub
- প্রদত্ত
- দেয়
- বিশ্বব্যাপী
- Go
- ভাল
- জিপিইউ
- জিপিইউ
- গ্রেডিয়েন্টস
- উত্থিত
- এরকম
- হার্ডওয়্যারের
- আছে
- he
- স্বাস্থ্যসেবা
- হেলথটেক
- সাহায্য
- সাহায্য
- সাহায্য
- উচ্চ
- উচ্চ গুনসম্পন্ন
- তার
- কিভাবে
- কিভাবে
- যাহোক
- এইচটিএমএল
- HTTP
- HTTPS দ্বারা
- প্রচুর
- জড়িয়ে আছে
- মানবীয়
- আহত
- ধারণা
- if
- প্রকাশ
- আমদানি
- গুরুত্বপূর্ণ
- উন্নতি
- in
- অন্তর্ভুক্ত
- বর্ধিত
- সংক্রমণ
- তথ্য
- ইনপুট
- ভিতরে
- উদাহরণ
- পরিবর্তে
- গর্ভনাটিকা
- মধ্যে
- সমস্যা
- IT
- কাজ
- রাখা
- পালন
- চাবি
- রাজ্য
- পরিচিত
- লেবেলগুলি
- ভাষা
- বড়
- বৃহত্তর
- শিক্ষা
- কম
- যাক
- লাইব্রেরি
- লাইব্রেরি
- জীবন
- জীবন বিজ্ঞান
- জীবন বিজ্ঞান
- মত
- LIMIT টি
- সীমাবদ্ধতা
- সীমিত
- লাইভস
- স্থানীয়করণ
- অবস্থানগুলি
- দীর্ঘ
- অনেকক্ষণ
- ক্ষতি
- অনেক
- কম
- বিশ্বস্ত
- মেশিন
- মেশিন লার্নিং
- মেশিন
- প্রণীত
- সংখ্যাগুরু
- করা
- তৈরি করে
- পরিচালনাযোগ্য
- পরিচালিত
- অনেক
- বৃহদায়তন
- সর্বোচ্চ
- চরমে তোলা
- সর্বাধিক
- মে..
- অর্থ
- মানে
- স্মৃতি
- মার্জ
- পদ্ধতি
- পদ্ধতি
- ছন্দোবিজ্ঞান
- মিনিট
- ML
- মডেল
- মূর্তিনির্মাণ
- মডেল
- আণবিক
- অধিক
- আরো দক্ষ
- চলন্ত
- mRNA
- অনেক
- বহু
- নাম
- প্রকৃতি
- প্রয়োজনীয়
- প্রয়োজন
- প্রয়োজন
- নেটওয়ার্ক
- নার্ভীয়
- নিউরাল নেটওয়ার্ক
- নতুন
- না
- উপন্যাস
- সংখ্যা
- লক্ষ্য
- বস্তু
- of
- on
- ONE
- ওগুলো
- কেবল
- অপ্টিমাইজেশান
- অপ্টিমাইজ
- or
- ক্রম
- আদেশ
- মূল
- মূলত
- অন্যান্য
- অন্যরা
- অন্যভাবে
- আমাদের
- বাইরে
- আউটপুট
- বাহিরে
- শেষ
- সামগ্রিক
- নিজের
- পরামিতি
- অংশ
- পাস
- পাস
- কামুক
- গত
- সম্পাদন করা
- সম্পাদিত
- টুকরা
- Plato
- প্লেটো ডেটা ইন্টেলিজেন্স
- প্লেটোডাটা
- খেলা
- যোগ
- সম্ভব
- পোস্ট
- পোস্ট
- সম্ভাব্য
- সম্ভাব্য
- ভবিষ্যদ্বাণী করা
- প্রস্তুত করা
- প্রতিরোধ
- আগে
- সমস্যা
- প্রক্রিয়াকৃত
- প্রযোজনা
- প্রকল্প
- বৈশিষ্ট্য
- প্রোটিন
- প্রোটিন
- উপলব্ধ
- প্রকাশ্য
- করা
- প্রশ্ন
- প্রশ্ন
- দ্রুত
- পরিসর
- মর্যাদাক্রম
- নাগাল
- প্রকৃত সময়
- ন্যায্য
- রেকর্ড
- হ্রাস করা
- হ্রাসপ্রাপ্ত
- হ্রাস
- হ্রাস
- regex
- অঞ্চল
- প্রাসঙ্গিক
- অপসারণ
- প্রতিস্থাপন করা
- সংগ্রহস্থলের
- চিত্রিত করা
- প্রতিনিধিত্ব
- আবশ্যকতা
- গবেষকরা
- Resources
- যথাক্রমে
- উত্তরদায়ক
- দায়ী
- ফলাফল
- প্রত্যাবর্তন
- পর্যালোচনা
- অধিকার
- ভূমিকা
- চালান
- রানটাইম
- ঋষি নির্মাতা
- বিক্রয়
- সংরক্ষণ করুন
- বিজ্ঞান
- বিজ্ঞান
- বৈজ্ঞানিক
- আঁচড়ের দাগ
- লিপি
- স্ক্রিপ্ট
- বিভাগে
- দেখ
- নির্বাচন
- আত্ম
- জ্যেষ্ঠ
- অনুভূতি
- আলাদা
- ক্রম
- সেবা
- সেট
- বিভিন্ন
- প্রদর্শিত
- একভাবে
- সহজ
- অনুকরণ
- সাইট
- আয়তন
- মাপ
- কিছুটা ভিন্ন
- ধীর
- মন্থরতা
- ছোট
- ক্ষুদ্রতর
- সমাধান
- সলিউশন
- সমাধান
- কিছু
- উৎস
- নির্দিষ্ট
- স্পীড
- বিভক্ত করা
- মান
- শুরু
- রাষ্ট্র-এর-শিল্প
- থাকা
- অটলভাবে
- ধাপ
- প্রারম্ভিক ব্যবহারের নির্দেশাবলী
- স্টোরেজ
- দোকান
- সংরক্ষণ
- কৌশলগতভাবে
- স্ট্রিং
- গঠন
- কাঠামো
- জমা
- যথেষ্ট
- টেবিল
- গ্রহণ করা
- লাগে
- লক্ষ্য
- লক্ষ্যমাত্রা
- কার্য
- কাজ
- টীম
- প্রযুক্তি
- প্রযুক্তি
- পরীক্ষা
- পাঠ
- চেয়ে
- যে
- সার্জারির
- তাদের
- তাহাদিগকে
- নিজেদের
- তারপর
- রোগচিকিত্সাবিজ্ঞান
- সেখানে।
- অতএব
- এইগুলো
- তারা
- কিছু
- এই
- হাজার
- দ্বারা
- সময়
- বার
- থেকে
- টোকেনাইজ
- অত্যধিক
- সরঞ্জাম
- মশাল
- মোট
- রেলগাড়ি
- প্রশিক্ষিত
- প্রশিক্ষণ
- রুপান্তর
- ট্রান্সফরমার
- পরীক্ষা
- সত্য
- চেষ্টা
- সুরকরণ
- চালু
- আদর্শ
- ধরনের
- সাধারণত
- বোঝা
- নামহীন
- অপ্রয়োজনীয়
- আপডেট
- আপডেট
- আপডেট
- us
- ব্যবহার
- আমেরিকান ডলার
- ব্যবহার
- ব্যবহৃত
- ব্যবহারসমূহ
- ব্যবহার
- চলিত
- মূল্য
- মানগুলি
- বৈচিত্র্য
- খুব
- মাধ্যমে
- প্রয়োজন
- we
- ওয়েব
- ওয়েব সার্ভিস
- আমরা একটি
- ছিল
- কি
- কখন
- কিনা
- যে
- যখন
- ব্যাপক
- প্রশস্ত পরিসর
- ব্যাপকভাবে
- সঙ্গে
- ছাড়া
- হয়া যাই ?
- কাজ আউট
- কর্মপ্রবাহ
- would
- লিখিত
- X
- বছর
- আপনি
- আপনার
- zephyrnet