谷歌发布新一代大模型Gemini的demo, 同时,Bard已将模型更新为Gemini Pro
Gemini 是谷歌目前最新最强的大语言模型,支持多模态(文字,图片,音频,视频等等)处理
美国时间12月13日,Gemini API对公众开放,本文将教学Google Generative AI的简易使用流程
MakerSuite是一个基于浏览器的 IDE,用于使用Generative language model(生成式语言模型)进行原型设计。借助 MakerSuite,可以快速试用模型并试验不同的prompt(提示)
从最基本的层面来讲,大语言模型 (LLM) 就像是复杂的自动补全。给定输入文本(“您可以引一匹马去水”),LLM 会根据从其训练数据中学到的模式,输出从统计学上来说可能会遵循的文本(“但你不能让它喝水”)。您可以使用 LLM 的这一基本属性为多种不同类型的应用提供支持:
- 生成诗歌、短篇故事、比喻、博文和其他创意文案
- 将结构化数据转换为自由格式文本
- 从自由格式文本中提取和汇总信息
- 生成代码
- 翻译
- 构建聊天机器人等
使用 LLM 构建这些功能不需要任何机器学习 (ML) 专业知识。您无需收集大型数据集或训练模型。启动您的第一个 LLM 原型只需用几句话描述您希望模型执行的操作。
AI平台 MakerSuite
左侧Create new将提供四种不同的方式与模型互动
Freeform prompt 文本/图片提示:输入一段提示,LLM将根据提示进行一段创作
Structured prompt 结构化提示:提供表格输入,可以输入至多500组【输入,输出】的案例,根据案例,LLM可学习并基于案例处理新的提示
Chat prompt 聊天提示:与chatgpt和bard类似的聊天框模式,支持输入历史会话
Tune Model模型调整,
预训练的要求极高,超出个人或中小企业的能力范围。但是针对特定的需求和任务,个人可以用适量(<1000)数据和计算资源调整模型,使得模型特化某种任务解决的能力。
点击左方Create new,点击Tune Model
点击import导入csv格式的训练数据,并选择1-多列为input,1-多列为output,做为调整模型的训练集
训练参数设定(第一次使用建议默认)
Model模型选择Text Bison,这是老模型PaLM2,新的Gemini截至目前还没可用
Tuning epochs 整个训练集的完整训练遍历次数
Batch size 一次训练迭代中用于验证的样本数量,越大越容易过拟合,越小越容易欠拟合
Learning rate 训练迭代中调整参数的强度,越大越容易过拟合,越小越容易欠拟合
点击Tune开始自动调参。模型调整完毕后,可以在上个环节的各种提示测试中使用自己的新模型
使用API,调用预训练模型
以python为例子先安装插件
pip install google-generativeai
然后调用API
import google.generativeai as genai
#换成你的api key
genai.configure(api_key="YOUR_API_KEY")
#模型参数
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)
#输入提示
prompt_parts = [ "Hello world", ]
#输出回答
response = model.generate_content(prompt_parts)
print(response.text)
调用结果如下,会输入出helloworld,以及解释对上述代码。
使用API调用自己调整的模型
如果你把上面的python程序中,model参数替换成你自己的模型,会遇上这样的报错
PermissionDenied: 403 Request had insufficient authentication scopes
是因为访问自己的模型需要OAuth身份验证。
获取OAuth身份验证需要前往谷歌云,生成个人密钥并下载到本地
这一步较为繁琐,Google有比较详细的逐步教程 https://developers.generativeai.google/tutorials/oauth_quickstart