首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
1
20 行代码!带你快速构建基础文本搜索引擎 ⛵
2
AI听曲识歌!哼曲、口哨吹,都能秒识! ⛵
3
边缘计算 | 在移动设备上部署深度学习模型的思路与注意点 ⛵
4
推荐系统!基于tensorflow搭建混合神经网络精准推荐! ⛵
5
毫秒级!千万人脸库快速比对,上亿商品图片检索,背后的极速检索用了什么神器? ⛵
6
AI+医疗:使用神经网络进行医学影像识别分析 ⛵
7
AI识万物:从0搭建和部署手语识别系统 ⛵
8
听音识情绪 | 程序员手把手教你搭建神经网络,更快get女朋友情绪,求生欲max!⛵
9
爆肝万字,终于搞定这篇⛵神经网络搭建全全全流程!学不会你来找我~
10
股市预测,销量预测,病毒传播...一个时间序列建模套路搞定全部!⛵
11
Hugging Face发布diffuser模型AI绘画库初尝鲜!
12
你给文字描述,AI艺术作画,精美无比!附源码,快来试试!
13
只能用于文本与图像数据?No!看TabTransformer对结构化业务数据精准建模
14
实际应用效果不佳?来看看提升深度神经网络泛化能力的核心技术(附代码)
15
TensorFlow?PyTorch?Paddle?AI工具库生态之争:ONNX将一统天下
16
从头训练一个神经网络!教它学会莫奈风格作画!⛵
17
2022极端高温!机器学习如何预测森林火灾?⛵ 万物AI
18
TensorFlow深度学习!构建神经网络预测股票价格!⛵
19
AI医疗高精尖!基于AI的新药研发!⛵
20
超精准!AI 结合邮件内容与附件的意图理解与分类!⛵
21
AI绘画提示词创作指南:DALL·E 2、Midjourney和 Stable Diffusion最全大比拼 ⛵
22
图解来啦!机器学习工业部署最佳实践!10分钟上手机器学习部署与大规模扩展 ⛵
23
NLP实践!文本语法纠错模型实战,搭建你的贴身语法修改小助手 ⛵
24
全都会!预测蛋白质标注!创建讲义!解释数学公式!最懂科学的智能NLP模型Galactica尝鲜 ⛵
25
真实世界的人工智能应用落地——OpenAI篇 ⛵

全都会!预测蛋白质标注!创建讲义!解释数学公式!最懂科学的智能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

参考资料

推荐阅读

下一篇
举报
领券