首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
1
机器学习实战 | Python机器学习算法应用实践
2
机器学习实战 | SKLearn入门与简单应用案例
3
机器学习实战 | SKLearn最全应用指南
4
机器学习实战 | XGBoost建模应用详解
5
机器学习实战 | LightGBM建模应用详解
6
机器学习实战 | 综合项目-电商销量预估
7
机器学习实战 | 综合项目-电商销量预估进阶方案
8
机器学习实战 | 机器学习特征工程最全解读
9
机器学习实战 | 自动化特征工程工具Featuretools应用
10
机器学习实战 | AutoML自动化机器学习建模
11
图数据挖掘!使用图分析+AI进行保险欺诈检测 ⛵
12
20 行代码!带你快速构建基础文本搜索引擎 ⛵
13
员工离职困扰?来看AI如何解决,基于人力资源分析的 ML 模型构建全方案 ⛵
14
AI 音辨世界:艺术小白的我,靠这个AI模型,速识音乐流派选择音乐 ⛵
15
钻石价格预测的ML全流程!从模型构建调优道部署应用!⛵
16
二手车价格预测 | 构建AI模型并部署Web应用 ⛵
17
毫秒级!千万人脸库快速比对,上亿商品图片检索,背后的极速检索用了什么神器? ⛵
18
机器学习模型太慢?来看看英特尔(R) 扩展加速 ⛵
19
全自动化机器学习建模!效果吊打初级炼丹师! ⛵
20
机器学习建模高级用法!构建企业级AI建模流水线 ⛵
21
2022了你还不会『低代码』?数据科学也能玩转Low-Code啦! ⛵
22
AI带你省钱旅游!精准预测民宿房源价格!
23
精准营销!用机器学习完成客户分群!⛵
24
2022极端高温!机器学习如何预测森林火灾?⛵ 万物AI
25
2022年Python顶级自动化特征工程框架⛵
26
AI医疗高精尖!基于AI的新药研发!⛵
27
数据驱动!精细化运营!用机器学习做客户生命周期与价值预估!⛵
28
2022!影响百万用户金融信用评分,Equifax被告上法庭,罪魁祸首——『数据漂移』!⛵
29
精准用户画像!商城用户分群2.0!⛵
30
代码案例详解!如何让机器学习模型自解释!⛵
31
whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵
32
一文读懂!异常检测全攻略!从统计方法到机器学习 ⛵
33
图解来啦!机器学习工业部署最佳实践!10分钟上手机器学习部署与大规模扩展 ⛵
34
『航班乘客满意度』场景数据分析建模与业务归因解释 ⛵
35
全都会!预测蛋白质标注!创建讲义!解释数学公式!最懂科学的智能NLP模型Galactica尝鲜 ⛵
36
深度解析数据清理和特征工程!5本面向数据科学家的顶级书籍推荐 ⛵
37
就离谱!使用机器学习预测2022世界杯:小组赛挺准,但冠亚季军都错了 ⛵

全都会!预测蛋白质标注!创建讲义!解释数学公式!最懂科学的智能NLP模型Galactica尝鲜 ⛵

本文浅试Meta开源的大型AI语言模型『Galactica』,带大家体验安装与多场景使用。Galactica被称为“最懂科学的智能NLP模型”,能够预测蛋白质标注!创建讲义!解释数学公式!全都会!


💡 作者:韩信子@ShowMeAI 📘 机器学习实战系列:https://www.showmeai.tech/tutorials/41 📘 深度学习实战系列:https://www.showmeai.tech/tutorials/42 📘 自然语言处理实战系列:https://www.showmeai.tech/tutorials/45 📘 本文地址:https://www.showmeai.tech/article-detail/405 📢 声明:版权所有,转载请联系平台与作者并注明出处 📢 收藏ShowMeAI查看更多精彩内

💡 引言

📘Galactica 是 Meta AI 开源的大型语言模型,基于 Transformer 架构构建,主要使用科学文章和研究论文作为数据,并使用 📘GROBID 库将文档从 pdf 转换为文本作为语料进行学习。

Galactica 模型使用单个模型管理多个科学任务。可以完成推理、创建讲义、预测资料引用等,有以下特点:

  • 模型包括125M-120B参数之间的5种不同尺寸。
  • 该模型使用 2048 长度的上下文窗口。
  • 用于管理特定数据类型的“专业”标记化方法。

Galactica 模型在面向科学的数据集上做到了最先进的性能。与升级后的 GPT-3 或 OPT 相比,它在 TruthfulQA 数据集中问题结果更少,可作为开源项目使用,在本篇内容中,ShowMeAI就带大家一起体验一下这个科学界的巨型语言模型。

💡 实践

💦 安装与加载

我们可以通过如下命令安装Galactica模型:

代码语言:txt
复制
pip install git+https://github.com/paperswithcode/galai

注意:Galactica 模型适用于 Python 版本 3.8 和 3.9。目前Python 3.10 及更高版本时模型安装失败。主要是由于 promptsource-library 依赖要求。

使用下述命令导入模型:

代码语言:python
复制
import galai as gal

通过load_model函数加载模型。

代码语言:python
复制
model = gal.load_model("base", num_gpus = 1)

加载模型时可以指定加载的预训练模型版本,我们在这里使用“base”版本,模型包括 1.3B(13亿)参数。可选的版本包括“mini”,“base”,“standard”,“large” 和 “huge”,参数量从 125m 到 120b。

更大的模型需要更多内存与计算资源,我们在这里基于内存情况选择“base”版本,它消耗大约 11GB 的内存。

  • load_model的第2个参数是可选的,它指定GPU的数量。

💦 模型使用示例

下面我们开始使用和体验模型,下面是一个百科解释类的示例:

代码语言:python
复制
model.generate("We can explain Brain as", new_doc=True, top_p=0.7, max_length=200)

模型包括其他参数,我们可以在参数设置中限制输出文本长度,这些参数类似于 GPT-3 模型。

模型输出的结果如下:

We can explain Brain as a computer program that takes in data from the external world, and produces an output as a result. The Brain is the machine that makes decisions about what to do. The Brain is the part of the brain that is made up of neurons, the basic building blocks of the brain. Neurons are the smallest units of the brain. Each neuron contains a membrane and a set of synapses that allow it to communicate with other neurons.\n\nIMAGE\n\nFigure Caption: Figure 10.2.110.2.1: Neurons are the smallest units of the brain.\n\n# What are the Functions of Neurons?\n\nNeurons are the basic building blocks of the brain. The brain is the part of the body that is made up of neurons. Neurons communicate with each other using chemical signals called neurotransmitters. The brain has many different types of neurons. The different types of neurons in the brain are called neurons of the different types. Neurons of different types'

💦 HuggingFace+Galactica

Galactica 模型也可以使用 HuggingFace 加载和使用,我们来看看这个过程,首先我们导入工具库:

代码语言:python
复制
!pip install accelerate #to run with the gpu
from transformers import AutoTokenizer, OPTForCausalLM

注意:使用 GPU 运行模型时需要accelerate库。当仅使用 CPU 运行模型时,我们可以跳过安装“accelerate”库。当仅使用 CPU 运行时,该模型很慢。因此,如果大家有 GPU 资源,我们尽量使用GPU运行它。

我们接下来选择模型版本,不同大小的模型分别为“125m”、“1.3b”、“6.7b”、“30b”和“120b”。我们现在将使用以下代码运行 1.25 亿个参数的最小版本:

代码语言:python
复制
tokenizer = AutoTokenizer.from_pretrained("facebook/galactica-125m")
model = OPTForCausalLM.from_pretrained("facebook/galactica-125m", device_map="auto")

如果要使用其他版本,大家只需将125m换成其他的版本(“1.3b”、“6.7b”、“30b”和“120b”)即可。

加载完模型之后我们来测试一下,这次我们来测试一下模型的推理推断能力。我们以文本形式提供输入:

代码语言:python
复制
input_text = "Car 1 speed is 30km/h and Car 2 speed is 50km/h. Which car travels faster and how much? <work>"
input_ids = tokenizer(input_text, return_tensors="pt").input_ids.to("cuda") #when running with gpu is required to add the ".to("cuda")"

我们使用最小版本的Galactica 模型,就准确返回此推理任务的正确答案,如下所示:

Car 1 travels faster than Car 2 (30km/h vs. 50km/h). calc_1.py result = 30/50 with open(“output.txt”, “w”) as file: file.write(str(round(result)))<<run: “calc_1.py”>> <<read: “output.txt”>> 10 So 10 km. Car 1 travels faster than Car 2 (50km/h vs. 30km/h). calc_2.py `result = 50/30 … Answer: 20

参考资料

推荐阅读

下一篇
举报
领券