从药物研发到法学硕士 (LLM),AI 技术的应用有助于减少幻觉

2024 年 12 月 5 日

革命性的 GitHub 项目:利用 AI 实现自动化药物研发

人工智能 (AI) 与药物研发的融合正在彻底改变制药行业。GitHub 上的开源项目在其中发挥着至关重要的作用。下面,我们将介绍一些利用 AI 推进自动化药物研发的最具创新性的项目。

DeepChem:化学深度学习的开放平台

DeepChem 是一个领先的开源库,使深度学习能够应用于化学领域。它提供以下领域的工具:

DeepChem 凭借其用户友好的界面,使研究人员无需深入的编程知识即可实现复杂的 AI 模型。这加速了新药的发现,并促进了行业的创新。

MoleculeNet:化学领域 AI 的基准测试

MoleculeNet 是一个专为化学研究中的机器学习而设计的综合基准测试系统。它提供:

通过提供一致的基准,MoleculeNet 促进了不同 AI 模型的比较,从而推动了药物发现的进展。

ATOM 建模管道 (AMPL):加速药物发现

ATOM 建模管道 是 ATOM 联盟的一个项目,旨在通过机器学习加速药物开发。 AMPL 提供:

借助 AMPL,研究人员可以高效地构建复杂模型,从而缩短新药从发现到上市的时间。

Chemprop:基于深度学习的分子特性预测

Chemprop 使用图神经网络来预测分子特性。其特点包括:

Chemprop 在多项竞赛中取得了优异成绩,是 AI 辅助化学研究的宝贵工具。

DeepPurpose:通用药物发现工具包

DeepPurpose 是一款用于药物发现的综合深度学习工具包。它提供:

DeepPurpose 凭借其多功能性,使研究人员能够快速有效地识别新的候选治疗药物。

OpenChem:专为化学应用打造的深度学习框架

OpenChem 是一个专为化学领域量身定制的深度学习框架。其特点如下:

OpenChem 促进了化学 AI 新方法的开发,并有助于加速研究进程。

GitHub 上的开源社区正在通过这些项目突破自动化药物发现的界限。AI 与化学的结合为更高效、更精准地开发治疗方案开辟了新的可能性。这些创新有可能持续改变医学的未来。

从药物发现到 AI 模型提炼的 AI 研究模型应用

所使用的 AI 模型和方法提供了创新方法,可以迁移到 AI 模型的提炼中。尽管这两个领域乍看起来有所不同,但它们拥有共同的技术和挑战,从而能够实现有意义的应用。

应用意义

将药物发现领域的研究模型应用于 AI 模型提炼是有意义的,因为:

应用方式

1.用于结构理解的图神经网络 (GNN)

在药物研究中,图神经网络用于分析分子结构。这些技术可用于模型蒸馏,以理解大型模型的结构并为小型模型提取必要的特征。

2. 迁移学习和特征提取

来自DeepChemChemprop等项目的模型使用迁移学习从现有数据集中学习。同样,在模型蒸馏中,大型预训练模型可以作为起点,将必要的特征迁移到小型模型。

3. 多任务学习,打造多功能模型

MoleculeNet这样的项目使用多任务学习来训练能够同时处理多个任务的模型。该方法可用于数据蒸馏,创建仍能执行多种功能的紧凑模型。

4. 药物发现中的优化技术

药物发现中的优化方法,例如微调超参数或使用进化算法,可用于提高蒸馏模型的效率。

5. 数据增强与生成

DeepPurpose等项目中,生成合成数据是关键。类似的技术可用于改进学生模型在模型提炼中的训练过程,尤其是在数据有限的情况下。

实际实施步骤

将自动化药物发现中的方法集成到AI模型的提炼中,开辟了提高效率和降低复杂性的新途径。通过迁移成熟的技术,可以开发出功能强大、紧凑的模型,以满足现代AI应用的需求。这种跨学科方法促进了创新,并加速了两个研究领域的进步。

延伸:人工智能技术从药物发现到法学硕士(LLM)的应用,以减少幻觉

人工智能的进步彻底改变了药物发现和大型语言模型 (LLM) 的开发。一个有趣的问题是,自动化药物发现技术是否有助于提高 LLM 的预测准确性并减少幻觉。下文将探讨这种可能性,并分析此类应用是否有效,以及这些技术是否已在 LLM 中得到应用。

人工智能与技术的联系化学和法学硕士 (LLM) 中的技术

1. 图神经网络 (GNN) 和结构分析

在药物研发中,图神经网络用于理解和预测分子的复杂结构。GNN 将数据建模为图,这在化学中很自然,因为分子由原子(节点)和键(边)组成。

在法学硕士 (LLM) 中的应用:

2. 不确定性与不确定性估计

在药物研发中,不确定性估计对于评估预测的可靠性至关重要。

应用于法学硕士 (LLM):

3. 多任务学习与迁移学习

MoleculeNet这样的项目使用多任务学习来训练能够同时预测多种属性的模型。

应用于法学硕士 (LLM):

4. 数据增强与合成数据生成

在化学领域,合成数据用于改进模型,尤其是在真实数据有限的情况下。

应用于法学硕士 (LLM):

该应用是否有意义?

将人工智能辅助药物研发技术应用于法学硕士 (LLM) 具有理论上的意义,因为这两个领域都利用了复杂的数据结构和机器学习。原因如下:

挑战

这些技术是否已在 LLM 中使用?

上述许多技术已以某种形式应用于 LLM 集成:

潜在的创新方法

尽管存在现有技术,但仍有新方法的潜力:

从自动化药物发现到法学硕士 (LLM) 的技术应用,为提高预测准确性和减少幻觉提供了激动人心的机会。虽然一些方法已经在法学硕士 (LLM) 中使用,但仍有通过跨学科方法进一步创新的空间。挑战主要在于不同的数据类型和可扩展性。尽管如此,这两个领域的合作可能会带来人工智能研究的重大进展。

简短的思维实验:有意义吗?

化学和自然语言乍一看似乎有所不同,但它们都是具有复杂规则和结构的系统。因此,化学中的建模和预测技术可以为自然语言处理提供有价值的输入。保持跨学科方法的开放态度至关重要,因为创新往往源于不同学科的交叉领域。

将药物研发中的人工智能技术融入法学硕士 (LLM) 的开发中,或许是进一步提升这些模型性能的有效途径。通过相互学习,两个领域可以互惠互利,共同开拓人工智能研究的新视野。

使用 Hugging Face 减少法学硕士 (LLM) 中幻觉的实现

下面,我们将演示如何使用 Hugging Face 和 Python 创建一个带有不确定性估计的语言模型来减少幻觉。我们采用的技术灵感源自自动化药物发现方法,尤其是使用蒙特卡洛dropout进行不确定性估计。

系统要求

您可以使用以下命令安装所需的库:

pip install tr​​ansforms torch datasets

代码实现

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

# 加载分词器和模型
model_name = 'gpt2'
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# 即使在评估模式下也启用 dropout
def enable_dropout(model):
""在评估期间启用模型中的 dropout 层。"""
for module in model.modules():
if isinstance(module, torch.nn.Dropout):
module.train()

# 用于生成不确定性估计的函数
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']

# 用于不确定性估计的多个预测
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)

# 解码生成的序列
sequences = [tokenizer.decode(output[0], skip_special_tokens=True) for output in output]

# 计算不确定性(熵)
probs = []
for output in output:
with torch.no_grad():
logits = model(output)['logits']
prob = F.softmax(logits, dim=-1)
probs.append(prob.cpu().numpy())

# 计算平均熵
entropies = []
for prob in probs:
entropy = -np.sum(prob * np.log(prob + 1e-8)) / prob.size
entropies.append(entropy)

avg_entropy = np.mean(entropies)
uncertainty = avg_entropy

# 选择最常出现的序列
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
}

# 使用示例
prompt = "人工智能对医学的影响是"

result = generate_with_uncertainty(model, tokenizer, prompt)
print("生成的文本:")
print(result['generated_text'])
print("估计的不确定性:", result['uncertainty'])

代码说明

使用 GitHub 代码库

对于扩展功能和高级方法,以下 GitHub 代码库可能会有所帮助:

扩展可能性

结论

通过应用不确定性估计和自动化药物发现技术,我们可以提高语言模型的可靠性并减少不必要的幻觉。提供的实现只是一个起点,可以进一步开发以满足特定需求。

注意:上面显示的实现是一个简化的示例。在生产环境中,还应考虑效率、可扩展性和道德方面的因素。

作者:Thomas Poschadel

版权所有 ToNEKi Media UG(有限责任公司)

将化学学习转入法学硕士课程