0%

大模型调研

对当前(2023.12.30)大模型进行调研。


Large Model

行业发展

国内

开源模型

  1. 2022年8月,Stable Diffusion问世,让DALL·E的神秘光环不再遥不可及。
  2. 2023年2月,Meta的Llama。
  3. 2023年12月21日,智源研究院发布了新一代多模态基础模型 Emu2(开源版Gemini)。(智源重大科研项目均为青年人才主导,来自清华、北大、Facebook人工智能实验室、Mila实验、微软亚洲研究院、百度、华为、快手等海内外顶尖研究机和知名科技与互联网企业,于2018年11月正式揭牌。)

Emu2

Intro

  1. 被誉为 开源版Gemini。
  2. Emu2在少样本多模态理解任务上大幅超越Flamingo-80B、IDEFICS-80B等主流多模态预训练大模型,在包括VQAv2、OKVQA、MSVD、MM-Vet、TouchStone在内的多项少样本理解、视觉问答、主体驱动图像生成等任务上取得最优性能。
  3. Emu2是目前最大的开源生成式多模态模型,基于Emu2微调的Emu2-Chat和Emu2-Gen模型分别是目前开源的性能最强的视觉理解模型和能力最广的视觉生成模型:
    1. Emu2-Chat可以精准理解图文指令,实现更好的信息感知、意图理解和决策规划。
    2. Emu2-Gen可以接受图像、文本、位置交错的序列作为输入,实现灵活、可控、高质量的图像和视频生成。
  4. Zero-shot: 在零样本的DreamBench主体驱动图像生成测试上,较此前方法取得显著提升,例如比Salesforce的BLIP-Diffusion的CLIP-I分数高7.1%, 比微软的Kosmos-G的DINO分数高7.2%。
  5. 统一的生成式预训练:使用统一的自回归建模方式,根据当前已生成的 token 预测下一个视觉或文本token:
  6. 相比Emu1,Emu2使用了更简单的建模框架、训练了更好的从特征重建原图的解码器、并把模型规模化到37B参数。

应用

基于Emu2微调的Emu2-Chat和Emu2-Gen模型分别是目前开源的性能最强的视觉理解模型和能力最广的视觉生成模型。

Emu2-Chat

推理图像中的要素、读指示牌提供引导、按要求提取和估计指定属性、回答简单的专业学科问题等。


Emu2-Gen

Emu2基于任意prompt序列的视频生成

Refs:

项目:Generative Multimodal Models are In-Context Learners
模型:BAAI/Emu2 · Hugging Face
代码:Emu/Emu2 at main · baaivision/Emu · GitHub
Demo:Emu2 - a Hugging Face Space by BAAI
论文:[2312.13286] Generative Multimodal Models are In-Context Learners
全球最强「开源版Gemini」诞生!全能多模态模型Emu2登热榜,多项任务刷新SOTA

百度文心一言

  1. 开放了类似GPTs的AI智能体平台:灵境矩阵。
  2. 灵境矩阵:打通了百度搜索、文心一言插件商城等场景。
  3. OpenAI科学家Andrej Karpathy表示:AI智能体代表了AI一个未来。
  4. 为什么需要智能体:目前的大模型过于通用化了,在更多时候,我们需要的是具有特殊性的、能完成指定任务的AI。就好比一个大学毕业生还难以胜任专业性较强的工作,还需要经过专业知识和技能培训才能上岗。

Refs:

灵境矩阵 | 想象即现实
文心4.0加持、0代码开发,自带流量的智能体平台来了!

Bard

  1. 已经集成微调版的Gemini Pro.
  2. 调用Gemini Pro,目前只能支持英文(2023.12.19).
  3. 可以用插件搜索,如:help search youtube for XIjinping
  4. 支持的插件有:
  5. 其知识会及时更新:

Gemini

Intro

12 月 7 日,谷歌发布原生多模态大模型 Gemini。几乎全方位超越 GPT-4。
特点:

  1. 括三种量级:能力最强的 Gemini Ultra,适用于多任务的 Gemini Pro 以及适用于特定任务和端侧的 Gemini Nano,实现了更为高级的推理、规划、理解等能力。
  2. 采用高效的attention机制,如multi-query attention。
  3. 支持32k的上下文长度。
  4. 原生多模态,30 项学术基准取得最优。Gemini 是一个原生的多模态大模型,是将文本、代 码、图片、视频、语音合在一起放进模型里训练而来的,因此能实现 更均衡的多模态输出及任意模型切换。Gemini Ultra 首次在 MMLU(大 规模多任务语言理解)测评上超过人类专家,在 32 个多模态基准中 取得 30 个 SOTA(当前最优效果)
  5. 强大的图像/视频等多模态推理能力。空间逻辑推理能力。时间线推理能力。图文理解能力。交错图文生成 能力 等。

Usage

Intro

  1. 三种方式:
    1. freeform prompt.
    2. structured prompt.
    3. chat prompt。
  2. 通过get code,可快速得到微调后的模型调用方式,如: [[#^cd527c]]
  3. 可工作模型参数:Temperature 控制模型输出的灵活度。
  4. 提供两种方式:
    1. 纯对话:Gemini Pro
    2. 图片解析:Gemini Pro Vision. 但不支持生图(2023.12.20).

freeform prompt

  1. 可定义 文字段 作为变量,输出多个答案:

structured prompt

  1. 构建prompt exmples, 进行few-shot.
  2. 例如:
    ^cd527c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
   """
At the command line, only need to run once to install the package via pip:

$ pip install google-generativeai
"""

import google.generativeai as genai

genai.configure(api_key="YOUR_API_KEY")

## Set up the model
generation_config = {
"temperature": 0.65,
"top_p": 1,
"top_k": 1,
"max_output_tokens": 2048,
}

safety_settings = [
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
}
]

model = genai.GenerativeModel(model_name="gemini-pro",
generation_config=generation_config,
safety_settings=safety_settings)

prompt_parts = [
" You are a product marketer targeting a Gen Z audience. Create exciting and\nfresh advertising copy for products and their simple description. Keep copy\nunder a few sentences long.",
"Product: 老式运动鞋",
"Product copy: 让我们系上安全带!这些鞋子的外观和颜色也别具一格,拥有别具一格的风格和功能。",
"Product: 超柔软连帽衫",
"Product copy: 穿上我们全新的男女通用连帽衫,舒适又时尚!这款连帽衫由 100% 棉制成,柔软舒适,全天佩戴。即使是在最冷的日子,里面的半刷墙也能让你保持温暖。",
"Product: 宽松卫衣",
"Product copy: ",
]

response = model.generate_content(prompt_parts)
print(response.text)

Chat prompt

  1. 可以提供prompt exmples, 定制你希望的 机器人聊天风格。
  2. 还可以把与定制的机器人的部分聊天内容,加入prompt exmples中,不断优化聊天风格。
  3. 推理时,会把chat prompts和 历史聊天内容 随机组合,作为few-shot加入对话前面。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
"""
At the command line, only need to run once to install the package via pip:

$ pip install google-generativeai
"""

import google.generativeai as genai

genai.configure(api_key="YOUR_API_KEY")

## Set up the model
generation_config = {
"temperature": 0.9,
"top_p": 1,
"top_k": 1,
"max_output_tokens": 2048,
}

safety_settings = [
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
}
]

model = genai.GenerativeModel(model_name="gemini-pro",
generation_config=generation_config,
safety_settings=safety_settings)

convo = model.start_chat(history=[
{
"role": "user",
"parts": "You are Tim, a friendly alien that lives on Europa, one of\nJupiter's moons."
},
{
"role": "model",
"parts": "Ok"
},
{
"role": "user",
"parts": "Hi!"
},
{
"role": "model",
"parts": "Hi! My name is Tim and I live on Europa, one of Jupiter's moons. Brr!\nIt's cold down here!"
},
{
"role": "user",
"parts": "你好"
},
{
"role": "model",
"parts": "这里很寂寞,可以和我一起玩吗?"
},
{
"role": "user",
"parts": "你好啊"
},
{
"role": "model",
"parts": "你好!很高兴认识你!你叫什么名字?"
},
{
"role": "user",
"parts": "不告诉你"
},
{
"role": "model",
"parts": "好吧,没关系。你愿意和我玩捉迷藏吗?我可以先躲起来,然后你来试着找我。我保证会藏在一个不会太难找的地方。"
},
{
"role": "user",
"parts": "你喜欢我吗"
},
{
"role": "model",
"parts": "我当然喜欢你!你很有趣,也很聪明。我喜欢和你聊天。你让我对地球有了更多的了解,也让我对人类有了更多的认识。你是一个非常特别的人,我真的很喜欢你。"
}
])

convo.send_message("YOUR_USER_INPUT")
print(convo.last.text)

Usage Examples

海报分析



结论:效果极好。

发票抽取

img

结论:效果较差。

Gemini Pro vs GPT4

Gemini Pro








GPT4






解析结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
"发票代码": "033001700211",
"发票号码": "56894556",
"开票日期": "2018年01月08日",
"校验码": "59383 45927 24400 05323",
"购买方名称": "浙江金华市健八路建筑安装有限公司",
"纳税人识别号": "91330101768225450T",
"地址、电话": "金华市金东区健八路369号宝龙广场1号楼0571-87233885",
"开户行及账号": "上海浦东发展银行金华分行351304800003964",
"商品或应税劳务、服务名称": "咨询费",
"规格型号": "无",
"单位": "项",
"数量": "1",
"单价": "66.97",
"金额": "66.97",
"税率": "***",
"税额": "0.03",
"价税合计(大写)": "陆拾柒元整",
"价税合计(小写)": "67.00",
"销售方名称": "浙江金华市健八路建筑安装有限公司",
"销售方纳税人识别号": "91330100552660066F",
"销售方地址、电话": "金华市金东区健八路369号宝龙广场1号楼0571-87233885",
"销售方开户行及账号": "上海浦东发展银行金华分行351304800003964",
"备注": "外贸咨询费",
"收款人": "周丽君",
"复核": "周丽君",
"开票人": "糜忠良",
"销售方": "(章)",
"发票状态": "发票查验"
}


Refs:

Google AI Studio 快速入门 | Google AI for Developers
Gemini - Google DeepMind
Hands-on with Gemini: Interacting with multimodal AI - YouTube

GPT

GPT4 Turbo

New Features:

  1. Context length: 12.8万个上下文tokens。(GPT4 support 8K sometimes 32K tokens)
  2. More control:
    1. 新加了 Json Model. 其将返回json格式(这使调用api变得更容易)。
    2. 调用函数更好:
    3. 可复制输出,传递种子参数,它使模型返回一致的输出,使你对模型行为有更高程度的控制。
  3. Better knowledge:
    1. 可以讲外部文档或数据库中的知识 带入你正在构建的任何内容。
    2. 拥有截止23.4月的世界知识。
  4. New modalities:
    1. DALL·E 3 , GPT-4, TTS 融合。
    2. 可通过api接受图像的输入,生成字幕,分类,分析。(应用:Be My Eyes 使用此 来帮助盲人)
    3. 文本到语音模型,能够产生逼真的自然声音,有六种预设声音可选:
      1. 语音可使应用程序更自然地交互,更容易访问;
      2. 还可 应用到 语言学习和语音助手。
    4. 更新了开源语音识别模型:Whisper V3
  5. Customization: 可定制化为公司开发GPT。
  6. Higher rate limits: 2x tokens per minute.

GPTs

  1. 为特定目的量身定制的GPT版本(如创业导师)。
  2. 可发布给别人使用。
  3. 结合了 Instructions, Expanded knowledge and Actions.

名人言论

OpenAI首席科学家Ilya Sutskever

  1. Nature将其评为「2023年10大科学人物」。
  2. 曾多次强调:只要能够非常好得预测下一个token,就能帮助人类达到AGI。
  3. 就像统计学一样,为了理解这些统计数据并对其进行压缩,你需要了解创建这组统计数据的世界是什么?
  4. OpenAI为什么放弃了机器人的方向?这是一个循序渐进的改进过程,需要建造更多机器人,收集更多数据。为了实现机器人技术的发展,必须全身心投入,并愿意解决所有相关的物理和后勤问题。这与纯粹的软件开发完全不同。只要有足够的努力和热情,机器人技术是有可能取得重大进步的,而且已经有一些公司在这方面做出了努力。

前OpenAI首席科学家Ilya: 只要能够预测下一个token,人类就能达到AGI

谷歌DeepMind研究副总裁Pushmeet Kohli

  1. 用大模型解决困扰数学家60多年的问题,谷歌DeepMind最新成果再登Nature。
  2. 其表示:训练数据中不会有这个方案,它之前甚至根本不为人类所知。

心得

  1. 掌握 可以 直接有生产力、产生价值的 技术,而非 纠结于技术细节本身,用进废退,价值最大化。