ในโพสต์นี้ เราจะสาธิตวิธีการปรับแต่งแบบจำลองภาษาโปรตีน (pLM) ที่ล้ำสมัยอย่างมีประสิทธิภาพ เพื่อคาดการณ์การแปลโปรตีนในระดับเซลล์ย่อยโดยใช้ อเมซอน SageMaker.
โปรตีนเป็นเครื่องจักรระดับโมเลกุลของร่างกาย รับผิดชอบทุกอย่างตั้งแต่การขยับกล้ามเนื้อไปจนถึงการตอบสนองต่อการติดเชื้อ แม้จะมีความหลากหลายนี้ แต่โปรตีนทั้งหมดถูกสร้างขึ้นจากสายโซ่โมเลกุลที่เรียกว่ากรดอะมิโน จีโนมมนุษย์เข้ารหัสกรดอะมิโนมาตรฐาน 20 ตัว ซึ่งแต่ละตัวมีโครงสร้างทางเคมีที่แตกต่างกันเล็กน้อย สิ่งเหล่านี้สามารถแสดงด้วยตัวอักษรซึ่งช่วยให้เราสามารถวิเคราะห์และสำรวจโปรตีนในรูปแบบสตริงข้อความได้ ลำดับและโครงสร้างของโปรตีนที่เป็นไปได้จำนวนมหาศาลคือสิ่งที่ช่วยให้โปรตีนนำไปใช้ประโยชน์ได้หลากหลาย
โปรตีนยังมีบทบาทสำคัญในการพัฒนายาในฐานะเป้าหมาย แต่ยังเป็นการบำบัดด้วย ดังที่แสดงในตารางต่อไปนี้ ยาที่ขายดีที่สุดจำนวนมากในปี 2022 อาจเป็นโปรตีน (โดยเฉพาะแอนติบอดี) หรือโมเลกุลอื่นๆ เช่น mRNA ที่แปลเป็นโปรตีนในร่างกาย ด้วยเหตุนี้ นักวิจัยด้านชีววิทยาศาสตร์จำนวนมากจึงต้องตอบคำถามเกี่ยวกับโปรตีนได้เร็วขึ้น ถูกลง และแม่นยำยิ่งขึ้น
Name | ผู้ผลิต | ยอดขายทั่วโลกปี 2022 ($ พันล้านดอลลาร์สหรัฐ) | ตัวชี้วัด |
ชุมชน | ไฟเซอร์ / BioNTech | $40.8 | Covid-19 |
สไปค์แวกซ์ | ทันสมัย | $21.8 | Covid-19 |
Humira | AbbVie | $21.6 | โรคข้ออักเสบ โรคโครห์น และอื่นๆ |
Keytruda | เมอร์ค | $21.0 | มะเร็งต่างๆ |
แหล่งข้อมูล: Urquhart, L. บริษัทชั้นนำและยาตามยอดขายในปี 2022. การค้นพบยาจากธรรมชาติ 22, 260–260 (2023)
เนื่องจากเราสามารถแสดงโปรตีนเป็นลำดับของตัวอักษรได้ เราจึงสามารถวิเคราะห์โปรตีนเหล่านั้นได้โดยใช้เทคนิคที่พัฒนาขึ้นมาสำหรับภาษาเขียนแต่แรกเริ่ม ซึ่งรวมถึงโมเดลภาษาขนาดใหญ่ (LLM) ที่ได้รับการฝึกล่วงหน้าบนชุดข้อมูลขนาดใหญ่ ซึ่งสามารถนำไปปรับใช้สำหรับงานเฉพาะ เช่น การสรุปข้อความหรือแชทบอท ในทำนองเดียวกัน pLM ได้รับการฝึกอบรมล่วงหน้าในฐานข้อมูลลำดับโปรตีนขนาดใหญ่โดยใช้การเรียนรู้ด้วยตนเองที่ไม่มีป้ายกำกับ เราสามารถปรับพวกมันเพื่อทำนายสิ่งต่างๆ เช่น โครงสร้าง 3 มิติของโปรตีน หรือวิธีที่โปรตีนอาจมีปฏิกิริยากับโมเลกุลอื่นๆ นักวิจัยยังใช้ pLM ในการออกแบบโปรตีนใหม่ตั้งแต่เริ่มต้นอีกด้วย เครื่องมือเหล่านี้ไม่ได้แทนที่ความเชี่ยวชาญทางวิทยาศาสตร์ของมนุษย์ แต่มีศักยภาพในการเร่งการพัฒนาก่อนคลินิกและการออกแบบการทดลอง
ความท้าทายอย่างหนึ่งของโมเดลเหล่านี้คือขนาดของมัน ทั้ง LLM และ pLM เติบโตขึ้นตามลำดับความสำคัญในช่วงไม่กี่ปีที่ผ่านมา ดังแสดงในรูปต่อไปนี้ ซึ่งหมายความว่าอาจต้องใช้เวลานานในการฝึกให้มีความแม่นยำเพียงพอ นอกจากนี้ยังหมายความว่าคุณต้องใช้ฮาร์ดแวร์ โดยเฉพาะ GPU ที่มีหน่วยความจำจำนวนมากเพื่อจัดเก็บพารามิเตอร์โมเดล
เวลาการฝึกอบรมที่ยาวนานและอินสแตนซ์ขนาดใหญ่ เท่ากับมีค่าใช้จ่ายสูง ซึ่งทำให้นักวิจัยหลายคนไม่สามารถเอื้อมงานนี้ไปได้ ตัวอย่างเช่น ในปี 2023 ก ทีมวิจัย อธิบายการฝึกอบรม pLM 100 พันล้านพารามิเตอร์บน GPU A768 จำนวน 100 ตัวเป็นเวลา 164 วัน! โชคดีที่ในหลายกรณีเราสามารถประหยัดเวลาและทรัพยากรได้โดยการปรับ pLM ที่มีอยู่ให้เข้ากับงานเฉพาะของเรา เทคนิคนี้เรียกว่า ปรับจูนและยังช่วยให้เรายืมเครื่องมือขั้นสูงจากการสร้างแบบจำลองภาษาประเภทอื่นๆ ได้
ภาพรวมโซลูชัน
ปัญหาเฉพาะที่เราแก้ไขในโพสต์นี้คือ การแปลเป็นภาษาท้องถิ่นย่อย: จากลำดับโปรตีน เราสามารถสร้างแบบจำลองที่สามารถคาดเดาได้ว่าโปรตีนอาศัยอยู่ภายนอก (เยื่อหุ้มเซลล์) หรือภายในเซลล์หรือไม่ นี่เป็นข้อมูลสำคัญที่สามารถช่วยให้เราเข้าใจถึงหน้าที่และว่าจะสร้างเป้าหมายยาที่ดีหรือไม่
เราเริ่มต้นด้วยการดาวน์โหลดชุดข้อมูลสาธารณะโดยใช้ สตูดิโอ Amazon SageMaker. จากนั้นเราใช้ 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 ช่วยให้คุณสามารถเรียกใช้โค้ดการฝึกอบรมที่กำหนดเองในคอนเทนเนอร์เฟรมเวิร์ก Machine Learning (ML) ที่ได้รับการปรับปรุงซึ่งจัดการโดย AWS สำหรับตัวอย่างนี้ เราปรับ an สคริปต์ที่มีอยู่สำหรับการจัดหมวดหมู่ข้อความ จากเรื่อง กอดหน้า. ซึ่งช่วยให้เราสามารถลองหลายวิธีในการปรับปรุงประสิทธิภาพของงานการฝึกอบรมของเรา
วิธีที่ 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
อย่างไรก็ตาม จำเป็นต้องมีการคำนวณเพิ่มเติมสำหรับการจ่ายบอลไปข้างหน้าและย้อนกลับชุดที่น้อยกว่า การเพิ่มขนาดชุดงานผ่านการสะสมแบบไล่ระดับอาจทำให้การฝึกช้าลง โดยเฉพาะอย่างยิ่งหากใช้ขั้นตอนการสะสมมากเกินไป เป้าหมายคือเพื่อเพิ่มการใช้งาน GPU ให้สูงสุด แต่หลีกเลี่ยงการชะลอตัวมากเกินไปจากขั้นตอนการคำนวณการไล่ระดับสีเพิ่มเติมมากเกินไป
วิธีที่ 3: จุดตรวจไล่ระดับ
การไล่ระดับจุดตรวจเป็นเทคนิคที่ช่วยลดหน่วยความจำที่จำเป็นระหว่างการฝึก ในขณะเดียวกันก็รักษาเวลาในการคำนวณให้เหมาะสม โครงข่ายประสาทเทียมขนาดใหญ่ใช้หน่วยความจำจำนวนมากเนื่องจากต้องเก็บค่ากลางทั้งหมดจากการส่งต่อเพื่อคำนวณการไล่ระดับสีระหว่างการย้อนกลับ ซึ่งอาจทำให้เกิดปัญหาหน่วยความจำได้ วิธีแก้ไขประการหนึ่งคือไม่ต้องเก็บค่ากลางเหล่านี้ไว้ แต่จะต้องคำนวณใหม่ในระหว่างการย้อนกลับ ซึ่งใช้เวลานาน
จุดตรวจไล่ระดับให้แนวทางที่สมดุล จะบันทึกเฉพาะค่ากลางบางค่าที่เรียกว่า จุดตรวจและคำนวณรายการอื่นๆ ใหม่ตามความจำเป็น ดังนั้นจึงใช้หน่วยความจำน้อยกว่าการจัดเก็บทุกอย่าง แต่ยังใช้การคำนวณน้อยกว่าการคำนวณทุกอย่างใหม่ ด้วยการเลือกอย่างมีกลยุทธ์ว่าจะเปิดใช้งานจุดตรวจใด จุดตรวจสอบแบบไล่ระดับจะช่วยให้โครงข่ายประสาทเทียมขนาดใหญ่ได้รับการฝึกอบรมเกี่ยวกับการใช้หน่วยความจำและเวลาในการคำนวณที่สามารถจัดการได้ เทคนิคที่สำคัญนี้ทำให้สามารถฝึกโมเดลที่มีขนาดใหญ่มากซึ่งอาจมีข้อจำกัดของหน่วยความจำได้
ในสคริปต์การฝึกอบรมของเรา เราเปิดใช้งานการไล่ระดับสีและจุดตรวจสอบโดยการเพิ่มพารามิเตอร์ที่จำเป็นลงใน TrainingArguments
วัตถุ:
from transformers import TrainingArguments
training_args = TrainingArguments(
gradient_accumulation_steps=4,
gradient_checkpointing=True
)
วิธีที่ 4: การปรับตัวระดับต่ำของ LLM
โมเดลภาษาขนาดใหญ่ เช่น ESM-2 อาจมีพารามิเตอร์นับพันล้านพารามิเตอร์ซึ่งมีราคาแพงในการฝึกและใช้งาน นักวิจัย พัฒนาวิธีการฝึกอบรมที่เรียกว่า Low-Rank Adaptation (LoRA) เพื่อให้การปรับแต่งโมเดลขนาดใหญ่เหล่านี้มีประสิทธิภาพมากขึ้น
แนวคิดหลักเบื้องหลัง LoRA ก็คือ เมื่อปรับแต่งโมเดลสำหรับงานเฉพาะเจาะจง คุณไม่จำเป็นต้องอัปเดตพารามิเตอร์ดั้งเดิมทั้งหมด LoRA จะเพิ่มเมทริกซ์ที่มีขนาดเล็กลงใหม่ให้กับโมเดลที่แปลงอินพุตและเอาต์พุตแทน เฉพาะเมทริกซ์ขนาดเล็กเหล่านี้เท่านั้นที่จะได้รับการอัปเดตในระหว่างการปรับแต่งแบบละเอียด ซึ่งเร็วกว่ามากและใช้หน่วยความจำน้อยกว่า พารามิเตอร์โมเดลดั้งเดิมยังคงค้างอยู่
หลังจากการปรับแต่ง LoRA อย่างละเอียดแล้ว คุณสามารถรวมเมทริกซ์ที่ดัดแปลงขนาดเล็กกลับเข้าไปในโมเดลดั้งเดิมได้ หรือคุณสามารถแยกพวกมันออกจากกัน หากคุณต้องการปรับแต่งโมเดลสำหรับงานอื่น ๆ อย่างรวดเร็วโดยไม่ลืมงานก่อนหน้า โดยรวมแล้ว LoRA ช่วยให้ LLM สามารถปรับเข้ากับงานใหม่ได้อย่างมีประสิทธิภาพด้วยต้นทุนเพียงเล็กน้อย
ในสคริปต์การฝึกอบรมของเรา เรากำหนดค่า LoRA โดยใช้ PEFT
ห้องสมุดจาก Hugging Face:
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 สูงสุด (GB) |
Base Model | 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 สูงสุด (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 สำหรับงานที่เกี่ยวข้องทางวิทยาศาสตร์อย่างมีประสิทธิภาพ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ไลบรารี Transformers และ PEFT เพื่อฝึก pLMS โปรดดูโพสต์ การเรียนรู้เชิงลึกด้วยโปรตีน และ ESMBind (ESMB): การปรับอันดับต่ำของ ESM-2 สำหรับการทำนายไซต์ที่มีผลผูกพันโปรตีน ในบล็อก Hugging Face คุณยังดูตัวอย่างเพิ่มเติมของการใช้แมชชีนเลิร์นนิงเพื่อทำนายคุณสมบัติของโปรตีนได้ใน การวิเคราะห์โปรตีนที่ยอดเยี่ยมบน AWS ที่เก็บ GitHub
เกี่ยวกับผู้เขียน
ไบรอัน ภักดี เป็นสถาปนิกอาวุโสด้าน AI/ML Solutions ในทีม Global Healthcare and Life Sciences ที่ Amazon Web Services เขามีประสบการณ์มากกว่า 17 ปีในด้านเทคโนโลยีชีวภาพและแมชชีนเลิร์นนิง และมีความกระตือรือร้นในการช่วยลูกค้าแก้ปัญหาด้านจีโนมและโปรตีโอมิก ในเวลาว่าง เขาชอบทำอาหารและทานอาหารกับเพื่อนและครอบครัว
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- PlatoData.Network Vertical Generative Ai เพิ่มพลังให้กับตัวเอง เข้าถึงได้ที่นี่.
- เพลโตไอสตรีม. Web3 อัจฉริยะ ขยายความรู้ เข้าถึงได้ที่นี่.
- เพลโตESG. คาร์บอน, คลีนเทค, พลังงาน, สิ่งแวดล้อม แสงอาทิตย์, การจัดการของเสีย. เข้าถึงได้ที่นี่.
- เพลโตสุขภาพ เทคโนโลยีชีวภาพและข่าวกรองการทดลองทางคลินิก เข้าถึงได้ที่นี่.
- ที่มา: 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
- เกี่ยวกับเรา
- ลงชื่อเข้าใช้
- สะสม
- ขุม
- ความถูกต้อง
- แม่นยำ
- การกระตุ้น
- การเปิดใช้งาน
- ปรับ
- การปรับตัว
- การปรับตัว
- เพิ่ม
- ที่อยู่
- เพิ่ม
- สูง
- AI / ML
- จุดมุ่งหมาย
- ทั้งหมด
- ช่วยให้
- ตาม
- Alphabet
- ด้วย
- อเมซอน
- อเมซอน SageMaker
- Amazon Web Services
- จำนวน
- an
- การวิเคราะห์
- วิเคราะห์
- และ
- อื่น
- คำตอบ
- ใด
- เข้าใกล้
- วิธีการ
- สถาปัตยกรรม
- เป็น
- AS
- At
- ใช้ได้
- หลีกเลี่ยง
- ไป
- AWS
- กลับ
- สมดุลย์
- BE
- เพราะ
- หลัง
- ระหว่าง
- อคติ
- ที่ใหญ่กว่า
- พันล้าน
- ผูกพัน
- เทคโนโลยีชีวภาพ
- บล็อก
- ร่างกาย
- ยืม
- ทั้งสอง
- ไบรอัน
- สร้าง
- แต่
- by
- คำนวณ
- คำนวณ
- การคํานวณ
- ที่เรียกว่า
- CAN
- ความจุ
- จับ
- กรณี
- กรณี
- ก่อให้เกิด
- เซลล์
- โซ่
- ห่วงโซ่
- ท้าทาย
- ความท้าทาย
- อักขระ
- โหลด
- chatbots
- ราคาถูก
- ตรวจสอบ
- สารเคมี
- ชั้น
- รหัส
- การผสมผสาน
- บริษัท
- การคำนวณ
- การคำนวณ
- ข้อ จำกัด
- บรรจุ
- ภาชนะบรรจุ
- มี
- ราคา
- ค่าใช้จ่ายที่มีประสิทธิภาพ
- ได้
- สร้าง
- ที่สร้างขึ้น
- ประเพณี
- ลูกค้า
- ข้อมูล
- ฐานข้อมูล
- ชุดข้อมูล
- ลดลง
- ลดลง
- กำหนด
- กำหนด
- สาธิต
- แสดงให้เห็นถึง
- ทั้งนี้ขึ้นอยู่กับ
- ปรับใช้
- อธิบาย
- ออกแบบ
- แม้จะมี
- แน่นอน
- พัฒนา
- พัฒนาการ
- เครื่อง
- แผนภาพ
- ต่าง
- การค้นพบ
- กล่าวถึง
- โรค
- กระจาย
- Dont
- ลง
- ดาวน์โหลด
- ยาเสพติด
- ยาเสพติด
- ในระหว่าง
- แต่ละ
- ผล
- มีประสิทธิภาพ
- อย่างมีประสิทธิภาพ
- ที่มีประสิทธิภาพ
- อย่างมีประสิทธิภาพ
- ทั้ง
- อื่น
- ช่วยให้
- การเข้ารหัส
- ปลายทาง
- มหาศาล
- ยุค
- ยุค
- เท่ากัน
- เท่ากับ
- โดยเฉพาะอย่างยิ่ง
- การประเมินผล
- แม้
- ทุกอย่าง
- ตัวอย่าง
- ตัวอย่าง
- มากกว่า
- มากเกินไป
- ที่มีอยู่
- แพง
- ประสบการณ์
- การทดลอง
- ความชำนาญ
- สำรวจ
- พิเศษ
- ใบหน้า
- ครอบครัว
- เร็วขึ้น
- เป็นไปได้
- ที่โดดเด่น
- คุณสมบัติ
- สองสาม
- รูป
- กรอง
- ในที่สุด
- หา
- ปลาย
- ชื่อจริง
- ดังต่อไปนี้
- สำหรับ
- โชคดี
- ข้างหน้า
- เศษ
- กรอบ
- เพื่อน
- ราคาเริ่มต้นที่
- แช่แข็ง
- ฟังก์ชัน
- ต่อไป
- ได้รับ
- GitHub
- กำหนด
- จะช่วยให้
- เหตุการณ์ที่
- Go
- ดี
- GPU
- GPUs
- การไล่ระดับสี
- เจริญเติบโต
- ที่เกิดขึ้น
- ฮาร์ดแวร์
- มี
- he
- การดูแลสุขภาพ
- เฮลท์เทค
- ช่วย
- การช่วยเหลือ
- จะช่วยให้
- จุดสูง
- ที่มีคุณภาพสูง
- ของเขา
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- อย่างไรก็ตาม
- HTML
- ที่ http
- HTTPS
- ใหญ่
- กอดใบหน้า
- เป็นมนุษย์
- เจ็บ
- ความคิด
- if
- แสดงให้เห็นถึง
- นำเข้า
- สำคัญ
- การปรับปรุง
- in
- รวมถึง
- เพิ่มขึ้น
- การติดเชื้อ
- ข้อมูล
- ปัจจัยการผลิต
- ภายใน
- ตัวอย่าง
- แทน
- โต้ตอบ
- เข้าไป
- ปัญหา
- IT
- การสัมภาษณ์
- เก็บ
- การเก็บรักษา
- คีย์
- อาณาจักร
- ที่รู้จักกัน
- ป้ายกำกับ
- ภาษา
- ใหญ่
- ที่มีขนาดใหญ่
- การเรียนรู้
- น้อยลง
- ช่วยให้
- ห้องสมุด
- ห้องสมุด
- ชีวิต
- วิทยาศาสตร์ชีวภาพ
- วิทยาศาสตร์สิ่งมีชีวิต
- กดไลก์
- LIMIT
- ข้อ จำกัด
- ถูก จำกัด
- ชีวิต
- การปรับเนื้อหาให้สอดคล้องกับท้องถิ่น
- วันหยุด
- นาน
- เวลานาน
- ปิด
- Lot
- ต่ำ
- ซื่อสัตย์
- เครื่อง
- เรียนรู้เครื่อง
- เครื่อง
- ทำ
- ส่วนใหญ่
- ทำ
- ทำให้
- จัดการได้
- การจัดการ
- หลาย
- มาก
- แม็กซ์
- เพิ่ม
- สูงสุด
- อาจ..
- ความหมาย
- วิธี
- หน่วยความจำ
- ผสาน
- วิธี
- วิธีการ
- ตัวชี้วัด
- นาที
- ML
- แบบ
- การสร้างแบบจำลอง
- โมเดล
- โมเลกุล
- ข้อมูลเพิ่มเติม
- มีประสิทธิภาพมากขึ้น
- การย้าย
- mRNA
- มาก
- หลาย
- ชื่อ
- ธรรมชาติ
- จำเป็น
- จำเป็นต้อง
- จำเป็น
- เครือข่าย
- เกี่ยวกับประสาท
- เครือข่ายประสาทเทียม
- ใหม่
- ไม่มี
- นวนิยาย
- จำนวน
- วัตถุ
- วัตถุ
- of
- on
- ONE
- คน
- เพียง
- การเพิ่มประสิทธิภาพ
- การปรับให้เหมาะสม
- or
- ใบสั่ง
- คำสั่งซื้อ
- เป็นต้นฉบับ
- แต่เดิม
- อื่นๆ
- ผลิตภัณฑ์อื่นๆ
- มิฉะนั้น
- ของเรา
- ออก
- เอาท์พุท
- ด้านนอก
- เกิน
- ทั้งหมด
- ของตนเอง
- พารามิเตอร์
- ส่วนหนึ่ง
- ส่ง
- ผ่าน
- หลงใหล
- อดีต
- ดำเนินการ
- ดำเนินการ
- ชิ้น
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- เล่น
- บวก
- เป็นไปได้
- โพสต์
- โพสต์
- ที่มีศักยภาพ
- ที่อาจเกิดขึ้น
- คาดการณ์
- เตรียมการ
- ป้องกัน
- ก่อน
- ปัญหา
- แปรรูปแล้ว
- ผลิต
- โครงการ
- คุณสมบัติ
- โปรตีน
- โปรตีน
- ให้
- สาธารณะ
- ใส่
- การสอบถาม
- คำถาม
- อย่างรวดเร็ว
- พิสัย
- อันดับ
- มาถึง
- เรียลไทม์
- เหมาะสม
- บันทึก
- ลด
- ลดลง
- ลด
- การลดลง
- นิพจน์ทั่วไป
- ภูมิภาค
- ตรงประเด็น
- เอาออก
- แทนที่
- กรุ
- แสดง
- เป็นตัวแทนของ
- ความต้องการ
- นักวิจัย
- แหล่งข้อมูล
- ตามลำดับ
- การตอบสนอง
- รับผิดชอบ
- ผลสอบ
- กลับ
- รีวิว
- ขวา
- บทบาท
- วิ่ง
- รันไทม์
- sagemaker
- ขาย
- ลด
- วิทยาศาสตร์
- วิทยาศาสตร์
- วิทยาศาสตร์
- รอยขีดข่วน
- ต้นฉบับ
- สคริปต์
- ส่วน
- เห็น
- การเลือก
- ตนเอง
- ระดับอาวุโส
- ความรู้สึก
- แยก
- ลำดับ
- บริการ
- ชุดอุปกรณ์
- หลาย
- แสดง
- เหมือนกับ
- ง่าย
- แกล้งทำ
- เว็บไซต์
- ขนาด
- ขนาด
- แตกต่างกันเล็กน้อย
- ช้า
- ชะลอตัว
- เล็ก
- มีขนาดเล็กกว่า
- ทางออก
- โซลูชัน
- แก้
- บาง
- แหล่ง
- โดยเฉพาะ
- ความเร็ว
- แยก
- มาตรฐาน
- เริ่มต้น
- รัฐของศิลปะ
- เข้าพัก
- ไม่หยุดหย่อน
- ขั้นตอน
- ขั้นตอน
- การเก็บรักษา
- จัดเก็บ
- การเก็บรักษา
- กลยุทธ์
- เชือก
- โครงสร้าง
- โครงสร้าง
- ส่ง
- เพียงพอ
- ตาราง
- เอา
- ใช้เวลา
- เป้า
- เป้าหมาย
- งาน
- งาน
- ทีม
- เทคนิค
- เทคนิค
- ทดสอบ
- ข้อความ
- กว่า
- ที่
- พื้นที่
- ของพวกเขา
- พวกเขา
- ตัวเอง
- แล้วก็
- การบำบัดโรค
- ที่นั่น
- ดังนั้น
- ล้อยางขัดเหล่านี้ติดตั้งบนแกน XNUMX (มม.) ผลิตภัณฑ์นี้ถูกผลิตในหลายรูปทรง และหลากหลายเบอร์ความแน่นหนาของปริมาณอนุภาคขัดของมัน จะทำให้ท่านได้รับประสิทธิภาพสูงในการขัดและการใช้งานที่ยาวนาน
- พวกเขา
- สิ่ง
- นี้
- พัน
- ตลอด
- เวลา
- ครั้ง
- ไปยัง
- โทเค็น
- เกินไป
- เครื่องมือ
- ไฟฉาย
- รวม
- รถไฟ
- ผ่านการฝึกอบรม
- การฝึกอบรม
- แปลง
- หม้อแปลง
- การทดลอง
- จริง
- ลอง
- จูน
- กลับ
- ชนิด
- ชนิด
- เป็นปกติ
- เข้าใจ
- ไม่มีชื่อ
- ไม่จำเป็น
- บันทึก
- ให้กับคุณ
- การปรับปรุง
- us
- การใช้
- USD
- ใช้
- มือสอง
- ใช้
- การใช้
- ตามปกติ
- ความคุ้มค่า
- ความคุ้มค่า
- ความหลากหลาย
- มาก
- ผ่านทาง
- ต้องการ
- we
- เว็บ
- บริการเว็บ
- ดี
- คือ
- อะไร
- เมื่อ
- ว่า
- ที่
- ในขณะที่
- กว้าง
- ช่วงกว้าง
- อย่างกว้างขวาง
- กับ
- ไม่มี
- งาน
- ออกไปทำงาน
- เวิร์กโฟลว์
- จะ
- เขียน
- X
- ปี
- คุณ
- ของคุณ
- ลมทะเล