Ứ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:
- Mô hình phân tử
- Dự đoán cấu trúc protein
- Khoa học vật liệu
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ộ dữ liệu chuẩn hóa
- Số liệu đánh giá
- So sánh hiệu suất mô hình
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:
- Đường ống mô-đun để chuẩn bị dữ liệu
- Đào tạo mô hình tự động
- Khung mở rộng cho nhiều trường hợp sử dụng khác nhau
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:
- Độ chính xác dự đoán cao
- Kiến trúc mô hình có thể thích ứng
- Hỗ trợ nhiều tập dữ liệu hóa học khác nhau
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:
- Tích hợp nhiều mô hình và tập dữ liệu khác nhau
- Triển khai dễ dàng các mô hình dự đoán
- Ứng dụng trong tương tác protein-ligand
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:
- Hỗ trợ tạo phân tử
- Dự đoán tính chất
- Tính linh hoạt trong thiết kế mô hình
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.
Ứ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ì:
- Phương pháp chung: Cả hai lĩnh vực đều sử dụng các kỹ thuật học máy tiên tiến như học sâu, mạng nơ-ron và mô hình dựa trên đồ thị.
- Giảm độ phức tạp: Trong quá trình khám phá thuốc, các cấu trúc phân tử phức tạp được biểu diễn ở dạng đơn giản hóa, tương tự như việc thu gọn các mô hình AI lớn thành các dạng nhỏ gọn hơn.
- Tối ưu hóa và hiệu quả: Cả khám phá thuốc và chưng cất mô hình đều hướng đến mục tiêu đạt được kết quả hiệu quả và mạnh mẽ với nguồn lực hạn chế.
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ế
- Phân tích cấu trúc mô hình: Sử dụng GNN để xác định các thành phần quan trọng của mô hình giáo viên.
- Lựa chọn tính năng: Trích xuất các tính năng quan trọng có ý nghĩa quyết định đối với hiệu suất của mô hình.
- Thiết kế kiến trúc hiệu quả: Điều chỉnh kiến trúc mô hình từ khám phá thuốc để có cấu trúc mô hình nhỏ gọn hơn.
- Đào tạo chung: Triển khai học tập đa tác vụ để đào tạo mô hình học sinh về nhiều tác vụ và do đó cải thiện khả năng khái quát hóa.
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:
- Cây cú pháp dưới dạng đồ thị: Tương tự như phân tử, câu có thể được biểu diễn dưới dạng đồ thị, trong đó các từ là nút và các mối quan hệ ngữ pháp là các cạnh.
- Mô hình hóa ngữ cảnh được cải thiện: GNN có thể được sử dụng để mô hình hóa tốt hơn các mối quan hệ giữa các từ trong một câu, điều này có thể cải thiện ngữ cảnh hóa trong 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:
- Giảm ảo giác: Bằng cách kết hợp các ước tính sự không chắc chắn, LLM có thể đánh giá tốt hơn các dự đoán của chính họ và ít có khả năng cung cấp thông tin sai lệch hoặc ảo giác hơn.
- Chỉ số độ tin cậy: Triển khai các chỉ số cho biết mức độ tin cậy của mô hình vào câu trả lời của nó.
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:
- Tối ưu hóa đồng thời nhiều mục tiêu: LLM có thể được đào tạo để tối ưu hóa cả dự đoán từ tiếp theo và độ chính xác của nội dung.
- Chuyển giao kiến thức về lĩnh vực: Thông qua học chuyển giao, các mô hình có thể sử dụng chuyên môn cụ thể từ hóa học để đưa ra các dự đoán chính xác hơn trong lĩnh vực đó.
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:
- Mở rộng các tập dữ liệu đào tạo: Tạo thêm dữ liệu văn bản chất lượng cao để cải thiện quy trình đào tạo.
- Cải thiện khả năng khái quát hóa: Với dữ liệu đa dạng hơn, mô hình có thể khái quát hóa tốt hơn và ít gây ảo giác hơn.
Ứ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à:
- Nền tảng toán học chung: Cả hai lĩnh vực đều sử dụng mạng nơ-ron và phương pháp tối ưu hóa.
- Cần độ chính xác và độ tin cậy: Trong cả y học và xử lý thông tin, các dự đoán chính xác là rất quan trọng.
Thách thức
- Các loại dữ liệu khác nhau: Dữ liệu hóa học có cấu trúc khác với ngôn ngữ tự nhiên.
- Khả năng mở rộng: LLM thường lớn hơn và phức tạp hơn đáng kể so với các mô hình trong hóa học, điều này khiến việc áp dụng trực tiếp trở nên khó khăn.
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 tính không chắc chắn: Một số mô hình sử dụng các phương pháp Bayesian hoặc phương pháp bỏ qua Monte Carlo để mô hình hóa không chắc chắn.
- Mô hình dựa trên đồ thị: Mặc dù GNN không được sử dụng trực tiếp trong LLM, nhưng có những mô hình xem xét cây cú pháp hoặc đồ thị phụ thuộc.
- Học đa nhiệm và chuyển giao: Các LLM như GPT-4 sử dụng học chuyển giao và có thể được tinh chỉnh cho nhiều nhiệm vụ.
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:
- Các mô hình lai: Kết hợp LLM với GNN để tạo mô hình ngữ cảnh tốt hơn.
- Tối ưu hóa lấy cảm hứng từ hóa học: Sử dụng các phương pháp tối ưu hóa từ hóa học để cải thiệning của các quy trình đào tạo LLM.
- Bộ dữ liệu liên ngành: Kết hợp dữ liệu từ hóa học để làm cho LLM chính xác hơn trong các lĩnh vực chuyên môn.
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
- Python 3.6 trở lên
- Thư viện đã cài đặt:
transformerstorchdatasets
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ã
-
Tải mô hình và tokenizer: Chúng tôi sử dụng mô hình GPT-2 đã được đào tạo trước từ Hugging Face.
tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) -
Bật dropout: Chúng tôi sử dụng hàm
enable_dropoutđể bật các lớp dropout. trong quá trình đánh giá để cho phép bỏ qua Monte Carlo.def enable_dropout(model): for module in model.modules(): if isinstance(module, torch.nn.Dropout): module.train() -
Tạo với ước tính không chắc chắn: Hàm
generate_with_uncertaintythực hiện nhiều dự đoán và tính toán độ không chắc chắn dựa trên entropy của phân phối đầu ra.def generate_with_uncertainty(model, tokenizer, prompt, num_samples=5, max_length=50): # Hàm được triển khai như minh họa ở trên -
Tính toán độ không chắc chắn: Entropy của phân phối xác suất được tính toán để ước tính độ không chắc chắn. Entropy cao hơn cho thấy mức độ không chắc chắn cao hơn.
-
Lựa chọn trình tự tốt nhất: Chúng tôi chọn trình tự được tạo thường xuyên nhất làm đầu ra cuối cùng vì trình tự đó có nhiều khả năng là đúng nhất.
Advertising
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:
-
Mạng biến đổi Bayesian: Biến đổi Bayesian
- Triển khai Biến đổi với các phương pháp Bayesian để ước tính mức độ không chắc chắn.
-
Mô hình ngôn ngữ tăng cường kiến thức: K-Adapter
- Một cách tiếp cận để tích hợp kiến thức thực tế vào các mô hình ngôn ngữ để giảm ảo giác.
Khả năng mở rộng
-
Tinh chỉnh với dữ liệu cụ thể theo miền: Bằng cách tinh chỉnh mô hình với các tập dữ liệu cụ thể, độ chính xác có thể được tăng lên.
from datasets import load_dataset # Đang tải một tập dữ liệu cụ thể theo miền dataset = load_dataset('your_dataset') # Chèn mã tinh chỉnh tại đây -
Tích hợp đồ thị kiến thức: Tích hợp các cơ sở dữ liệu kiến thức bên ngoài như Wikidata để xác thực và bổ sung cho các nội dung.
-
Sử dụng các mô hình lớn hơn: Sử dụng các mô hình tiên tiến hơn như GPT-3 hoặc GPT-4 thông qua các API tương ứng để có kết quả tốt hơn.
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)
![]()