文心千帆为你而来

news2024/11/24 11:47:52

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.coloradmin.cn/o/781313.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文件被识别为病毒,被删除,如何解决

我们的文件有时候有用,但是电脑却识别为病毒,直接给我删除掉了,这让人是真的很XX,那该怎么办呐。 我最近用了这个方法很多次,蛮好用,分享给大家! 1、先找到安全中心 2、找不到排除项 3、点击添…

工程矩阵理论复习线路推荐

文章目录 写在前面复习线路推荐前期中期后期其他资料 写在前面 本篇博客仅适用于东南大学研究生 工程矩阵理论科目复习 对不少人来说,研究生的课程成绩相较于本科成绩不是那么重要了。但是由于工程矩阵还是比较有难度的,又很长时间没接触过数学&#x…

7-22练习

题目1 链接5071 不难发现通过A的范围可以缩小B的范围进而减少循环次数 通过B可以消除A的循环 这个是一个很巧妙的地方。这个题还有一个比较容易引起歧义的地方就是i:n每一次循环都要符合条件 这样我们不难构造出一个函数 f(B+x) = 1000*A+x 试验1 运行超时-- 需要减少复杂度…

时钟分频器

文章目录 一、8分频二、n倍时钟分频器 一、8分频 8倍时钟分频器是一种电路或设备,用于将输入时钟信号的频率分成原来的1/8。它可以在数字电子系统中用于将高频时钟信号降低到较低的频率,以满足特定的系统需求。 在这个电路中,CLK是输入的时钟…

【晓风残月】byte,short,int,long——八种基本类型

文章目录 前言废话不多说,总结下今天的成果以及踩的坑 一、第一个坑【数据丢失】二、第二个坑【byte集合无法转换byte数组】三、第三个坑【Byte[]转byte[]】四、第四个坑【16进制转byte】总结快一年没写博客了,貌似都不记得过去的自己了向前看&#xff1…

Camtasia2023电脑录屏视频自动生成字幕软件

制作视频通常需要添加字幕,添加字幕比较麻烦的是让字幕和声音同步,使用好的软件可以大大提高剪辑效率,让视频更快制作完成。本文将给大家介绍录制视频自动生成字幕的软件设置字幕语音同步教程。 一、录屏视频自动生成字幕的软件 Camtasia是…

查询优化之“查询分离”

什么业务场景需要使用查询分离 当数据在任何时候都可能被修改和查询的场景下,就不适合采用冷热分离来解决问题。而读写分离方案得到的工单查询速度提升是有限的,它主要还是用在数据库高并发的场景中。查询分离可以有效提升数据的查询效率,即…

【Ajax】笔记-JQuery发送请求与通用方法

Get请求 语法格式: $.get(url, [data], [callback], [type]) url:请求的 URL 地址。data:请求携带的参数。callback:载入成功时回调函数。type:设置返回内容格式,xml, html, script, json, text, _default。 准备三个按钮分别测试Get 、Post、通用型方…

PHP8知识详解:PHP8的应用领域

PHP 8 是一个通用的编程语言,可以用于开发各种类型的应用程序,包括 web 应用程序、移动应用程序、服务器端应用程序等等。由于 PHP 8 具有许多新的特性和改进,因此它可以更好地满足现代 Web 开发的需求,例如更快的执行速度、更好的…

关于我组件家庭服务器,挑选硬件设备的经历

目录 起因 升级——玩客云 原因 折腾日记 又升级——d2550工控主机 原因 折腾日记 又双升级——itx主机 原因 折腾日记 又双叒升级(目前再用的机器)——i9级x99平台e5v3主机 原因 折腾日记 心得 起因 起因大概在今年三月底四月初的时候&…

Linux磁盘分区、逻辑卷、交换分区管理

一.分区 1.MBR分区 2.GPT分区 二.磁盘分区管理 1.查看磁盘信息 2.添加磁盘 3.管理分区 (1)fdisk,默认划分为MBR的格式 (2)gdisk,默认默认划分为GPT的格式 (3)parted&#xf…

哈希:探索快速的数据存储和搜索方法

哈希:探索快速的数据存储和搜索方法 哈希表作为一种高效的数据存储结构,可以使数据的存储位置与关键码之间建立一一映射的关系,从而加快元素的搜索速度。然而,哈希方法也面临着哈希冲突的问题,即不同的关键字通过相同…

K8s中的核心概念

1.Pod (1)最小部署单元(2)一组容器的集合(3)共享网络(4)生命周期是短暂的 2.Controller (1)确保预期pod副本数量 (2)无状态应用部署 (3) 有状态应用部署 确保所有的node运…

Cmake笔记记录

工作后开发内容都是在Linux系统下完成,cmake使用比较频繁,找到一篇很不错的CMake笔记。 记录下来方便自己查阅。 目录 1.CMake介绍2.示例一:编译单个文件CMAKE_BUILD_TYPE 3.示例二:编译同个目录下多个文件aux_source_directory()…

Kubernetes_核心组件_kubelet_kubelet服务全解析(二)

文章目录 前言kubelet 架构kubelet 职责Node管理(节点管理)Pod管理 kubelet管理Podkubelet如何管理当前节点上所有Podkubelet三个端口kubelet获取Pod清单kubelet通过CRI接口管理Pod以及里面的容器 PodWorker的工作细节PodWorker的工作细节PLEG组件PLEG报错 kubelet创建并启动Po…

uni-app 使用安卓模拟器 mumu教程

第一步 去官网下载 这个直接下载就行 第二步 去uni-app 里面配置 在这里设置adb路径和模拟器端口 进去安装目录找到adb.exe 相关的就行我的是 D:/moniqi/MuMuPlayer-12.0/shell/adb.exe 端口设置的是 16385 但是不起作用 第三步 .\adb connect 127.0.0.1:7555 .\adb devi…

可证明安全初步(Provable Security Basics)

Speecher: Bingsheng Zhang 这一系列的课程,为了介绍一些基础,弥补一些上密码学课和看论文的Gap。 历史上的密码学是art,就像鲁班锁,看着很精妙,但是没有证明。 1970s以来,逐渐发展成Science。 定义和模…

【未来趋势】无屏幕笔记本

近日,来自以色列的科技公司Sightful推出了号称全球首台增强现实(AR)笔记本电脑——Spacetop。通过AR技术,用户可以拥有一块100英寸的虚拟屏幕,并且可以无视环境在任何地点办公,如咖啡店、公园、飞机上等等&…

深度理解 Spring IOC

Spring容器高层视图 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配好Bean之间的依赖关系,为上层应用提供准备就绪的运行环境。 Bean缓存池&…

PHP8知识详解:PHP的历史版本

PHP(全称:Hypertext Preprocessor)是一种广泛应用于web开发的脚本语言。它最初由Rasmus Lerdorf在1994年开发,并于1995年发布了第一个版本。以下是PHP的一些历史大版本及其介绍: PHP 1.0(1995年&#xff09…