Ứng dụng các kỹ thuật AI từ khám phá thuốc vào LLM để giảm ảo giác

5 tháng 12 năm 2024

Các dự án GitHub mang tính cách mạng: Khám phá thuốc tự động bằng AI

Việc tích hợp trí tuệ nhân tạo (AI) vào khám phá thuốc đang cách mạng hóa ngành dược phẩm. Các dự án nguồn mở trên GitHub đang đóng vai trò quan trọng trong việc này. Dưới đây, chúng tôi trình bày một số dự án sáng tạo nhất thúc đẩy khám phá thuốc tự động bằng AI.

DeepChem: Nền tảng mở cho học sâu trong hóa học

DeepChem là một thư viện nguồn mở hàng đầu giúp học sâu có thể truy cập được cho các ứng dụng hóa học. Nó cung cấp các công cụ cho:

Advertising

Thông qua giao diện thân thiện với người dùng, DeepChem cho phép các nhà nghiên cứu triển khai các mô hình AI phức tạp mà không cần kiến ​​thức lập trình chuyên sâu. Điều này giúp đẩy nhanh quá trình khám phá ra các loại thuốc mới và thúc đẩy sự đổi mới trong ngành.

MoleculeNet: Đánh giá chuẩn cho AI trong Hóa học

MoleculeNet là một hệ thống đánh giá chuẩn toàn diện được thiết kế riêng cho máy học trong nghiên cứu hóa học. Nó cung cấp:

Bằng cách cung cấp các điểm chuẩn nhất quán, MoleculeNet tạo điều kiện thuận lợi cho việc so sánh các mô hình AI khác nhau, do đó thúc đẩy tiến trình khám phá thuốc.

ATOM Modeling PipeLine (AMPL): Khám phá thuốc tăng tốc

ATOM Modeling PipeLine là một dự án của ATOM Consortium nhằm mục đích đẩy nhanh quá trình phát triển thuốc thông qua học máy. AMPL cung cấp:

Với AMPL, các nhà nghiên cứu có thể xây dựng hiệu quả các mô hình phức tạp, do đó rút ngắn thời gian từ khi phát hiện ra thuốc mới đến khi đưa ra thị trường.

Chemprop: Dự đoán tính chất phân tử bằng học sâu

Chemprop sử dụng mạng nơ-ron đồ thị để dự đoán tính chất phân tử. Các tính năng của nó bao gồm:

Chemprop đã đạt được những kết quả nổi bật trong một số cuộc thi và là một công cụ có giá trị cho hóa học hỗ trợ AI.

DeepPurpose: Bộ công cụ phổ quát để khám phá thuốc

DeepPurpose là một bộ công cụ học sâu toàn diện để khám phá thuốc. Nó cung cấp:

Nhờ tính linh hoạt của mình, DeepPurpose cho phép các nhà nghiên cứu nhanh chóng và hiệu quả xác định các ứng viên điều trị mới.

OpenChem: Khung học sâu chuyên dụng cho các ứng dụng hóa học

OpenChem là một khung học sâu được thiết kế riêng cho hóa học. Nó có các tính năng:

OpenChem thúc đẩy sự phát triển các phương pháp mới trong AI hóa học và góp phần đẩy nhanh quá trình nghiên cứu.

Cộng đồng nguồn mở trên GitHub đang mở rộng ranh giới của việc khám phá thuốc tự động với các dự án này. Việc kết hợp AI và hóa học mở ra những khả năng mới để phát triển các giải pháp điều trị hiệu quả và chính xác hơn. Những đổi mới này có tiềm năng thay đổi tương lai của y học một cách bền vững.

Advertising

Ứng dụng các mô hình nghiên cứu AI từ khám phá thuốc đến chưng cất các mô hình AI

Các mô hình và phương pháp AI được sử dụng cung cấp các phương pháp tiếp cận sáng tạo có thể được chuyển giao để chưng cất các mô hình AI. Mặc dù thoạt nhìn hai lĩnh vực này có vẻ khác nhau, nhưng chúng có chung các kỹ thuật và thách thức giúp ứng dụng có ý nghĩa.

Ý nghĩa ứng dụng

Việc áp dụng các mô hình nghiên cứu từ khám phá thuốc sang chưng cất mô hình AI có ý nghĩa vì:

Cách áp dụng

1. Mạng nơ-ron đồ thị (GNN) để hiểu cấu trúc

Trong nghiên cứu thuốc, Mạng nơ-ron đồ thị được sử dụng để phân tích cấu trúc phân tử. Các kỹ thuật này có thể được sử dụng trong quá trình chưng cất mô hình để hiểu cấu trúc của các mô hình lớn và trích xuất các tính năng cần thiết cho mô hình nhỏ hơn.

2. Chuyển giao học tập và trích xuất tính năng

Các mô hình từ các dự án như DeepChem hoặc Chemprop sử dụng chuyển giao học tập để học từ các tập dữ liệu hiện có. Tương tự như vậy, trong quá trình chưng cất, một mô hình lớn được đào tạo trước có thể đóng vai trò là điểm khởi đầu để chuyển các tính năng cần thiết sang mô hình nhỏ hơn.

3. Học tập đa nhiệm vụ cho các mô hình đa năng

Các dự án như MoleculeNet sử dụng học tập đa nhiệm vụ để đào tạo các mô hình có thể xử lý nhiều nhiệm vụ cùng lúc. Phương pháp này có thể được sử dụng trong quá trình chưng cất để tạo ra các mô hình nhỏ gọn nhưng vẫn thực hiện được các chức năng đa dạng.

4. Kỹ thuật tối ưu hóa từ khám phá thuốc

Các phương pháp tối ưu hóa từ khám phá thuốc, chẳng hạn như tinh chỉnh siêu tham số hoặc sử dụng thuật toán tiến hóa, có thể được áp dụng để làm cho các mô hình chưng cất hiệu quả hơn.

5. Tăng cường và tạo dữ liệu

Việc tạo dữ liệu tổng hợp là chìa khóa trong các dự án như DeepPurpose. Có thể sử dụng các kỹ thuật tương tự để cải thiện quy trình đào tạo mô hình học sinh trong quá trình chưng cất, đặc biệt là khi dữ liệu có hạn.

Các bước triển khai thực tế

Việc tích hợp các phương pháp từ khám phá thuốc tự động vào quá trình chưng cất các mô hình AI mở ra những cách mới để tăng hiệu quả và giảm độ phức tạp. Bằng cách chuyển giao các kỹ thuật đã được chứng minh, có thể phát triển các mô hình mạnh mẽ, nhỏ gọn đáp ứng các yêu cầu của các ứng dụng AI hiện đại. Phương pháp tiếp cận liên ngành này thúc đẩy sự đổi mới và đẩy nhanh tiến độ trong cả hai lĩnh vực nghiên cứu.

Mở rộng: Ứng dụng các kỹ thuật AI từ khám phá thuốc vào LLM để giảm ảo giác

Những tiến bộ trong trí tuệ nhân tạo đã cách mạng hóa cả khám phá thuốc và phát triển các mô hình ngôn ngữ lớn (LLM). Một câu hỏi thú vị là liệu các kỹ thuật từ khám phá thuốc tự động có thể giúp tăng độ chính xác dự đoán của LLM và giảm ảo giác hay không. Dưới đây, chúng tôi khám phá khả năng này và phân tích xem ứng dụng như vậy có hữu ích hay không và liệu các kỹ thuật này đã được sử dụng trong LLM hay chưa.

Mối liên hệ giữa AI và công nghệKỹ thuật trong Hóa học và LLM

1. Mạng nơ-ron đồ thị (GNN) và Phân tích cấu trúc

Trong khám phá thuốc, Mạng nơ-ron đồ thị được sử dụng để hiểu và dự đoán cấu trúc phức tạp của các phân tử. GNN mô hình hóa dữ liệu dưới dạng đồ thị, đây là điều tự nhiên trong hóa học vì các phân tử bao gồm các nguyên tử (nút) và liên kết (cạnh).

Ứng dụng cho LLM:

2. Sự không chắc chắn và ước tính sự không chắc chắn

Trong quá trình khám phá thuốc, ước tính sự không chắc chắn rất quan trọng để đánh giá độ tin cậy của các dự đoán.

Ứng dụng cho LLM:

3. Học đa nhiệm và học chuyển giao

Các dự án như MoleculeNet sử dụng học đa nhiệm để đào tạo các mô hình dự đoán nhiều thuộc tính cùng lúc.

Ứng dụng cho LLM:

Advertising

4. Tăng cường dữ liệu và tạo dữ liệu tổng hợp

Trong hóa học, dữ liệu tổng hợp được sử dụng để cải thiện các mô hình, đặc biệt là khi dữ liệu thực bị hạn chế.

Ứng dụng cho LLM:

Ứng dụng này có hợp lý không?

Việc chuyển giao các kỹ thuật từ khám phá thuốc hỗ trợ AI sang LLM có ý nghĩa về mặt lý thuyết, vì cả hai lĩnh vực đều sử dụng các cấu trúc dữ liệu phức tạp và máy học. Một số lý do là:

Thách thức

Các kỹ thuật này đã được sử dụng trong LLM chưa?

Nhiều kỹ thuật được đề cập đã được sử dụng ở một số dạng trong LLM Tích hợp:

Các phương pháp tiếp cận sáng tạo tiềm năng

Mặc dù có các kỹ thuật hiện có, vẫn có tiềm năng cho các phương pháp tiếp cận mới:

Việc áp dụng các kỹ thuật từ khám phá thuốc tự động vào LLM mang lại những cơ hội thú vị để cải thiện độ chính xác của dự đoán và giảm ảo giác. Mặc dù một số phương pháp đã được sử dụng trong LLM, vẫn còn chỗ cho sự đổi mới hơn nữa thông qua phương pháp tiếp cận liên ngành. Những thách thức chủ yếu nằm ở các loại dữ liệu khác nhau và khả năng mở rộng. Tuy nhiên, sự hợp tác giữa hai lĩnh vực này có thể dẫn đến những tiến bộ đáng kể trong nghiên cứu AI.

Thí nghiệm tư duy ngắn: Có hợp lý không?

Hóa học và ngôn ngữ tự nhiên thoạt nhìn có vẻ khác nhau, nhưng cả hai đều là hệ thống có các quy tắc và cấu trúc phức tạp. Do đó, các kỹ thuật mô hình hóa và dự đoán trong hóa học có thể cung cấp thông tin đầu vào có giá trị cho quá trình xử lý ngôn ngữ tự nhiên. Điều quan trọng là phải cởi mở với các phương pháp tiếp cận liên ngành, vì sự đổi mới thường nảy sinh tại giao diện của các ngành khác nhau.

Việc tích hợp các kỹ thuật AI từ khám phá thuốc vào quá trình phát triển LLM có thể là một cách đầy hứa hẹn để nâng cao hơn nữa hiệu suất của các mô hình này. Bằng cách học hỏi lẫn nhau, cả hai lĩnh vực có thể hưởng lợi từ nhau và cùng nhau mở ra những chân trời mới trong nghiên cứu AI.

Triển khai để giảm ảo giác trong LLM bằng cách sử dụng Hugging Face

Dưới đây, chúng tôi trình bày cách tạo mô hình ngôn ngữ với ước tính không chắc chắn bằng cách sử dụng Hugging Face và Python để giảm ảo giác. Chúng tôi sử dụng các kỹ thuật lấy cảm hứng từ các phương pháp được sử dụng trong khám phá thuốc tự động, đặc biệt là ước tính sự không chắc chắn bằng cách sử dụng Monte Carlo dropout.

Yêu cầu

Bạn có thể cài đặt các thư viện cần thiết bằng lệnh sau:

pip install transformers torch datasets

Triển khai mã

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch.nn.functional as F
import numpy as np

# Tải trình phân tích và model
model_name = 'gpt2'
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# Bật dropout ngay cả trong chế độ đánh giá
def enable_dropout(model):
""Bật các lớp dropout trong mô hình trong quá trình đánh giá."""
for module in model.modules():
if isinstance(module, torch.nn.Dropout):
module.train()

# Hàm để tạo với ước tính không chắc chắn
def generate_with_uncertainty(model, tokenizer, prompt, num_samples=5, max_length=50):
model.eval()
enable_dropout(model)
inputs = tokenizer(prompt, return_tensors='pt')
input_ids = inputs['input_ids']

# Nhiều dự đoán cho ước tính không chắc chắn
outputs = []
for _ in range(num_samples):
with torch.no_grad():
output = model.generate(
input_ids=input_ids,
max_length=max_length,
do_sample=True,
top_k=50,
top_p=0.95
)
outputs.append(output)

# Giải mã các chuỗi được tạo ra
sequences = [tokenizer.decode(output[0], skip_special_tokens=True) để xuất ra trong các đầu ra]

# Tính toán độ không chắc chắn (entropy)
probs = []
để xuất ra trong các đầu ra:
với torch.no_grad():
logits = model(output)['logits']
prob = F.softmax(logits, dim=-1)
probs.append(prob.cpu().numpy())

# Tính toán entropy trung bình
entropies = []
để xuất ra trong các đầu ra:
entropy = -np.sum(prob * np.log(prob + 1e-8)) / prob.size
entropies.append(entropy)

avg_entropy = np.mean(entropies)
uncertainty = avg_entropy

# Lựa chọn chuỗi xuất hiện thường xuyên nhất
from collections import Counter
sequence_counts = Counter(sequences)
most_common_sequence = sequence_counts.most_common(1)[0][0]

return {
'generated_text': most_common_sequence,
'uncertainty': uncertainty
}

# Ví dụ sử dụng
prompt = "Tác động của trí tuệ nhân tạo đối với y học là"

result = generate_with_uncertainty(model, tokenizer, prompt)
print("Văn bản đã tạo:")
print(result['generated_text'])
print("nEstimated uncertainty:", result['uncertainty'])

Giải thích mã

Sử dụng Kho lưu trữ GitHub

Đối với chức năng mở rộng và các phương pháp nâng cao, các kho lưu trữ GitHub sau đây có thể hữu ích:

Khả năng mở rộng

Kết luận

Bằng cách áp dụng ước tính độ không chắc chắn và các kỹ thuật từ khám phá thuốc tự động, chúng ta có thể Tăng độ tin cậy của các mô hình ngôn ngữ và giảm ảo giác không mong muốn. Việc triển khai được cung cấp đóng vai trò là điểm khởi đầu và có thể được phát triển thêm để đáp ứng các yêu cầu cụ thể.

Lưu ý: Việc triển khai được hiển thị ở trên là một ví dụ đơn giản hóa. Trong môi trường sản xuất, các khía cạnh khác như hiệu quả, khả năng mở rộng và cân nhắc về mặt đạo đức cần được tính đến.

Tác giả: Thomas Poschadel

BẢN QUYỀN ToNEKi Media UG (trách nhiệm hữu hạn)

Chuyển việc học Hóa học sang LLM