文心千帆为你而来

1. 前言

3月16号百度率先发布了国内第一个人工智能大语言模型—文心一言。文心一言的发布在业界引起了不小的震动。而文心一言的企业服务则由文心千帆大模型平台提供。文心千帆大模型平台是百度智能云打造出来的一站式大模型开发与应用平台,提供包括文心一言在内的文心大模型服务,支持大模型(含第三方)定制开发,生产专属大模型,提供覆盖全生命周期的大模型工具链。文心千帆大模型平台接入客户业务系统可以丰富多种应用场景,包括但不限于智能问答,内容创作,产品营销,代码编写,人员培训等等。下图详细展示了文心一言大模型和文心千帆大模型平台的的关系。

文心千帆大模型平台

让人欣喜的是,百度智能云已面向企业和个人客户开放文心千帆大模型平台公有版测试服务(官方申请地址:https://cloud.baidu.com/survey/qianfan.html);

文章目录

    • 1. 前言
    • 2. 试用文心千帆大模型平台
    • 3. 文心千帆大模型调优
      • 3.1. 准备数据集
      • 3.2. 创建调优任务
      • 3.3. 发布模型
      • 3.4. 再次体验效果
    • 4. 总结

2. 试用文心千帆大模型平台

  1. 申请文心千帆大模型体验

    官方申请地址:https://cloud.baidu.com/survey/qianfan.html

    在访问官方申请地址时,需要填写相关信息,如公司名称、联系人、联系电话等。提交申请后,百度智能云的工作人员将在三小时内审核申请信息。审核通过后,用户将获得文心千帆大模型平台公有版测试服务的使用权限。

    image-20230717192100019

    点击去使用,系统会默认选中ERNIE-Bot,ERNIE-Bot-turbo,BLOOMZ-7B以及Embedding-V1四个大模型。

    其中:

    1. ERNIE-Bot是百度自行研发的大语言模型,覆盖海量中文数据,具有更强的对话问答、内容创作生成等能力。
    2. ERNIE-Bot-turbo是百度自行研发的大语言模型,覆盖海量中文数据,具有更强的对话问答、内容创作生成等能力,响应速度更快。
    3. BLOOMZ-7B是业内知名的⼤语⾔模型,由HugggingFace研发并开源,能够以46种语⾔和13种编程语⾔输出⽂本。
    4. Embedding-V1是基于百度文心大模型技术的文本表示模型,将文本转化为用数值表示的向量形式,用于文本检索、信息推荐、知识挖掘等场景。

    点击下一步开通服务。

    image-20230717192245948

  2. 创建应用

    开通服务之后,首先,我们需要创建一个自己的应用,接着调用API服务。如下图我这边创建了一个名称为 test_qianfan的应用。应用类型选择为 游戏娱乐。

    image-20230717153446542

    文心千帆提供了三种服务方式,第一种是直接在线测试,第二种就是使用示例代码,第三种就是直接调用API接口

  3. 直接在线测试

    访问 https://ai.baidu.com/wenxinworkshop/app/ais/console/onlineTest 即可在线体验服务,在线体验不需要调用任何API接口即可使用。我们可以让文心千帆用Python写一个冒泡排序算法,如下图所示:

    image-20230717194857805

    这里参数配置中可以选择不同的大模型服务,也可以选择不同的应用。当然你也可以创建一个Prompt模板,以便后期快速使用。

  4. 使用示例代码

    如果你想接入API接口服务,但是编程功底又不是很扎实的话,那么可以试下百度智能云提供的示例代码中心 的功能。

    image-20230717194144837

    这里选中文心千帆大模型平台,这里按照接入步骤给出不同接口的接入示例,直接可见即可得。例如千帆大模型的接入步骤是首先是调试 鉴权认证机制---->获取AccessToken,接着就是根据不同的语言模型调试不同的接口。

  5. 调用API接口

文心千帆大模型平台提供了在开发文档中提供了详细的API调用指南。

  • 获取AccessToken

    import requests
    import json
    
    
    def main():
            
        url = "https://aip.baidubce.com/oauth/2.0/token?client_id=uvtkhfi4yU6Y81EwKo05gWlC&client_secret=CavUZ7yhXI0LoYfWLziUZ7rN5b5mfY0v&grant_type=client_credentials"
        
        payload = json.dumps("")
        headers = {
            'Content-Type': 'application/json',
            'Accept': 'application/json'
        }
        
        response = requests.request("POST", url, headers=headers, data=payload)
        
        print(response.text)
        
    
    if __name__ == '__main__':
        main()
    
    
    
  • 调用ErnieBot-turbo模型

import requests
import json

API_KEY = "uvtkhf****05gWlC"
SECRET_KEY = "CavUZ7****5mfY0v"

def main():
        
    url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token=" + get_access_token()
    
    payload = json.dumps({
        "messages": [
            {
                "role": "user",
                "content": "作为一个专业的python老师,请检查下面的代码有哪些错误, 代码如下: \\n for in in range(n): \\n检查的错误如下:\n"
            },
            {
                "role": "assistant",
                "content": "在Python中,使用`for`循环遍历一个列表或可迭代对象时,不需要使用`in`关键字,因为`for`循环已经包含了遍历的功能。\n\n所以,您的代码可以修改为:\n\n\n```python\nfor i in range(n):\n    # 在这里编写你的代码\n```\n另外,请注意`range`函数的参数,它应该是从0开始到n-1结束的整数,即`range(n-1)`。"
            }
        ]
    })
    headers = {
        'Content-Type': 'application/json'
    }
    
    response = requests.request("POST", url, headers=headers, data=payload)
    
    print(response.text)
    

def get_access_token():
    """
    使用 AK,SK 生成鉴权签名(Access Token)
    :return: access_token,或是None(如果错误)
    """
    url = "https://aip.baidubce.com/oauth/2.0/token"
    params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
    return str(requests.post(url, params=params).json().get("access_token"))

if __name__ == '__main__':
    main()

3. 文心千帆大模型调优

大模型调优实际上是Fine-Tuning的训练模式,开发者可以选择适合自己任务场景的训练模式并加以调参训练,从而实现理想的模型效果。大模型调优的入口如下:https://ai.baidu.com/wenxinworkshop/app/train/tuning/list

image-20230717192511100

我从事的是教育类的产品开发,我们产品中有很重要的一块功能就是在线编程功能,其主要是图形化编程和python编程。老师发布一个编程任务之后,学生们在平台上通过编程的方式来实现老师发布的编程任务。

在没有大模型辅助的情况下,学生提交的编程作业都需要老师人工检查批改。 老师一行行代码的检查存不存在语法错误,有没有运行时错误,存不存在不文明的语言,有没有实现编程目标,再根据检查的结果给出相应的评分。

在有了大模型之后,我们就可以借助大模型来辅助老师检查学生的编程作业。首先,就是开通大模型训练。这里我选择的是ERNIE-Bot-turbo大模型公有云训练服务-SFT-全量更新。全量更新可以在训练过程中对大模型的全部参数进行更新。

image-20230717200916015

大模型的调优步骤主要就三步:

  1. 准备数据集

    数据集是模型训练的根源,没有数据集或者说数据集过少都会影响模型训练的效果。文心千帆的数据集是以json文件的格式导入的。

  2. 创建调优任务

    创建调优任务,利用准备好的训练数据及平台提供的预训练大模型,训练自己的大模型。

  3. 发布模型

    完成调优后,可以发布训练后的模型,或继续在RLHF训练过程对模型继续训练。

3.1. 准备数据集

点击创建数据集,输入数据集名称,就进入了导入配置。在导入配置页面中,数据标注状态分为:无标注信息和有标注信息,两者的区别是无标注信息只有prompt,而有标注信息不仅有prompt还有response。

导入方式支持本地导入,BOS目录导入,导入格式是JSONL文件。文件内单条数据格式要求为[{"prompt" : "prompt内容","response": [["response内容"]]}]

image-20230717222729861

先下载数据样例,然后在按照数据样例造自己的数据集。这里我根据官方给出的数据样例造出来了我自己的数据集。这里需要注意的是数据集的条数最少要达到32条,不然模型无法启动训练。如下图所示:

image-20230717222454283

每一组的数据内容都类似于:

[{"prompt": "作为一个专业的python老师,请检查下面的代码有哪些错误, 代码如下:  \n print("张三"+1) \n检查的错误如下:", "response": [["第一行字符串拼接错误"]]}]

数据集文件导入成功之后,我们就可以在列表页发布此数据集。只有状态是已发布的数据集,才能被大模型所引用。

image-20230717211559711

image-20230717211933252

3.2. 创建调优任务

数据集准备好之后,我们就可以创建调优任务,让大模型运行数据集进行训练。这里我创建了一个代码检错的调优任务。

image-20230717201239521

在数据配置那一栏选择的数据集就是我们在前面发布的数据集。

image-20230717210816995

image-20230717212034260

调优任务配置好之后点击确认就进入了任务执行页面。

image-20230717212055122

这里我的调优任务一共执行了26分钟才运行完成。

image-20230717215536676

3.3. 发布模型

模型运行完成之后就可以点击 发布,对这个模型进行发布了。

image-20230717215718339

模型发布成功之后就就可以将此模型部署到百度公有云的环境中,部署的过程由于费用的问题在此没能体验。

image-20230717220437249

3.4. 再次体验效果

image-20230717224517551

image-20230717224531868

4. 总结

今天我花了一天的时间好好体验了一下文心千帆大模型平台,整个体验过程对我来说非常好。千帆大模型平台上手非常容易,操作界面对使用者友好。

让我感觉很棒的地方主要体现在如下几个方面。

  1. 完备详尽的开发文档:https://cloud.baidu.com/doc/WENXINWORKSHOP/index.html 基本上在使用中有任何困惑都可以在开发文档中找到答案。
  2. 操作界面友好:文心千帆的操作台划分为 数据服务,大模型训练,大模型管理,大模型服务这四大块,哪怕是没有接触过大模型的小白也能很快上手。
  3. 接入简单:接入文心千帆大模型平台是如此的简单,只需要简单的调两个接口就可以了。
  4. 功能全面:文心千帆提供了各种AI开发工具和整套开发环境,用户可以轻松使用和开发自己的大模型应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/43685.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Observability:Synthetic monitoring - 动手实践

在我之前的如下文章里: Observability:Synthetic monitoring - 合成监测入门(一)(二) Observability:Synthetic monitoring - 创建浏览器监测,配置单独的浏览器监测器及项目 我详…

408-2009

一、选择题(2 分/题) 1.为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据一次写入该缓冲取,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是______。 A.栈 …

【JavaEE】Servlet常用的API

目录 前言 一、HttpServlet类 1、Servlet的生命周期 ✨tomcat的两个端口 ✨设置告诉浏览器使用那种字符集解析响应 ✨Java中Unicode和utf8字符集的使用 二、HttpServletRequest类 1、获取请求的信息 2、 前端给后端传递数据的三种方式 2.1、通过query string传递 2.2…

【云原生】Prometheus 监控系统的初步了解与系统搭建

前言 promethues是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据&#x…

S32K144 GPIO外设分析

1. S32K144 GPIO外设特性 下面的内容来自于S32K用户手册的翻译,或者网上关于S32K系列的一些pdf文件介绍。有些内容可能会出现理解不到位或者翻译错误方面,如果大家有疑问最好可以查阅用户手册。 GPIO和PORT的数量 从用户手册,对于PCR&#x…

【广州华锐互动】列车人员疏散VR虚拟演练系统

随着科技的不断发展,虚拟现实(VR)技术已经逐渐应用于各个领域。在火车站安全方面,为了提高旅客的安全意识和应对突发事件的能力,列车人员疏散VR虚拟演练系统应运而生。 列车人员疏散VR虚拟演练系统是一种基于虚拟现实技术的教育培训系统&…

15 QMessageBox消息对话框

错误提示对话框 信息提示对话框 循环对话框 默认是Yes和No,可以修改属性。第5个参数关联回车键 QMessageBox::Save | QMessageBox::Cancel 可以通过捕获按键获取点击结果 警告提示 代码: //QMessageBox 消息对话框//错误提示QMessageBox::critical(th…

老年公寓人员定位管理系统:提升安全与关怀的智能解决方案

老年公寓作为提供安全居住环境和关怀服务的重要场所,面临着人员管理和安全控制的挑战。为了解决这些问题,老年公寓人员定位管理系统应运而生。基于为提供全面的安全管理和个性化关怀服务,华安联大便通过老年公寓人员定位管理系统的技术原理、…

[数据结构 -- C语言] 二叉树(BinaryTree)

目录 1、树的概念及结构 1.1 树的概念 1.2 树的相关概念(很重要) 1.3 树的表示 2、二叉树的概念及结构 2.1 概念 2.2 特殊二叉树 2.3 二叉树的性质(很重要) 2.4 练习题 2.5 二叉树的存储结构 2.5.1 顺序存储 2.5.2 链…

微服务保护——Sentinel【快速入门】

一、雪崩问题🍉 (一) 什么是雪崩🥝 微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩。服务D故障引起服务A故障,服务A引起其他服务故障,渐渐导致所有微服务都不可用。有人…

基础算法(三)

目录 一、双指针算法 二、位运算 三、区间合并 一、双指针算法 双指针算法模板: for(int i 0,j 0;i < n;i) {while(j < i && check(i,j)) j;//每道题的具体逻辑 } 1.1两个指针指向两个队列1.2两个指针指向一个队列 案例习题: 分割字符串 #include<…

4-2 3D images: Volumetric data Representing tabular data

本文所用到的资料下载地址 By stacking individual 2D slices into a 3D tensor, we can build volumetric data representing the 3D anatomy of a subject. We just have an extra dimension, depth, after the channel dimension, leading to a 5D tensor of shape N C D…

[MySQL]MySQL事务特性

[MySQL]MySQL事务 文章目录 [MySQL]MySQL事务1. 事务的概念2. 为什么会出现事务3. 事务的版本支持4. 事务的提交方式5. 事务常见操作方式6. 事务隔离级别事务隔离级别概念查看事务的隔离级别设置事务的隔离级别读未提交&#xff08;Read Uncommitted&#xff09;读提交&#xf…

【力扣算法20】之 8. 找出字符串中第一个匹配项的下标 (python方向)

文章目录 问题描述示例1示例2提示 思路分析代码分析完整代码详细分析运行效果截图调用示例运行结果 完结 问题描述 给你两个字符串 haystack 和 needle &#xff0c;请你在haystack字符串中找出needle字符串的第一个匹配项的下标&#xff08;下标从 0 开始&#xff09;。如果 n…

htmlCSS-----浮动

目录 前言&#xff1a; 浮动 1.浮动的效果 2.浮动的特点 3.浮动的写法 4.浮动的原理 5.浮动的作用 6.案例 7.浮动的缺陷与解决方式 浮动问题 解决方式 8.补充说明 前言&#xff1a; 浮动是html里面重要的一部分&#xff0c;前面我们学习了三种元素的类型&#xff08;…

计科web常见错误排错【HTTP状态404、导航栏无法点开、字符乱码及前后端数据传输呈现、jsp填写的数据传到数据库显示null、HTTP状态500】

web排错记录 在使用javaweb的过程中会出现的一些错误请在下方目录查找。 目录 错误1&#xff1a;HTTP状态404——未找到 错误2&#xff1a;导航栏下拉菜单无法点开的问题 错误3&#xff1a;字符乱码问题 错误4&#xff1a;jsp网页全部都是&#xff1f;&#xff1f;&#x…

Golang并发控制

开发 go 程序的时候&#xff0c;时常需要使用 goroutine 并发处理任务&#xff0c;有时候这些 goroutine 是相互独立的&#xff0c;需要保证并发的数据安全性&#xff0c;也有的时候&#xff0c;goroutine 之间要进行同步与通信&#xff0c;主 goroutine 需要控制它所属的子gor…

Linux系统安装部署MySQL完整教程(图文详解)

前言&#xff1a;最近网上翻阅了大量关于Linux安装部署MySQL的教程&#xff0c;在自己部署的时候总是存在一些小问题&#xff0c;例如&#xff1a;版本冲突&#xff0c;配置失败和启动失败等等&#xff0c;功夫不负有心人&#xff0c;最后还是安装部署成功了&#xff0c;所以本…

Ubuntu 网络配置指导手册

一、前言 从Ubuntu 17.10 Artful开始&#xff0c;Netplan取代ifupdown成为默认的配置实用程序&#xff0c;网络管理改成 netplan 方式处理&#xff0c;不在再采用从/etc/network/interfaces 里固定 IP 的配置 &#xff0c;配置写在 /etc/netplan/01-network-manager-all.yaml 或…

文本预处理——文本处理的基本方法

目录 什么是分词jieba分词特性精确模式分词全模式分词搜索引擎模式分词使用用户自定义词典 命名实体识别词性标注 什么是分词 jieba分词特性 精确模式分词 import jieba content工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作 print(jieba.lcut(co…
最新文章