今天收到通知可以体验百度的AI模型“文心一言”,等了一个多月迫不及待的去体验了一把,以下是体验的相关记录。
1、简单介绍
通过文心一言官网链接https://yiyan.baidu.com/进入,看到如下界面:
在文心一言的自我介绍中,作为人工智能语言模型,擅长中文也会英文,遵循测试规则,但不是无所不知,还在不断学习成长中。
百度研发的知识增强大语言模型,中文名是文心一言,英文名是ERNIE Bot。我能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。
1.1 文心一言的模型算法
文心一言模型的算法包括:
- 预训练语言模型。通过大规模的机器学习算法,利用海量的互联网文本数据训练得到。
- 自然语言处理技术。包括中文分词、词性标注、命名实体识别、实体关系抽取等技术。
- 知识增强。利用预训练的语言模型和领域专家知识,对新的文本进行解释和生成。
总的来说,文心一言是百度依托飞桨、文心大模型的技术研发的知识增强大语言模型,能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。
1.2 文心一言的训练数据集
文心一言模型的训练数据集包括:
- 网页数据:包括搜索引擎的网页抓取数据和公开网络资源的网页抓取数据,例如新闻网站、百科全书、维基百科等。
- 搜索数据:包括用户在搜索引擎上的搜索请求和搜索结果,例如百度搜索。
- 图片数据:包括用户上传的图片和搜索引擎的图片资源,例如图片搜索结果。
- 语音数据:包括用户的语音搜索请求和搜索结果,例如语音搜索引擎。
- 知识增强数据:包括用户输入的知识和专家知识,例如用户输入的问题和领域专家的回答。
这些数据来自于互联网上的公开资源,并通过预训练模型进行了大规模的训练。文心一言模型能够理解和生成自然语言、中文和多种外语的文本,并且能够进行知识推理和问答等任务。
1.3 文心一言的图像生成算法
文心一言的图像生成算法主要包括以下几种:
- 基于深度学习的卷积神经网络:文心一言模型的图像生成部分使用了卷积神经网络,通过学习输入图像和生成图像之间的特征映射关系,来生成与输入图像相似的图像。
- 生成对抗网络:文心一言模型的生成器使用生成对抗网络,通过生成器和判别器的交互来生成图像。生成对抗网络可以学习输入图像和生成图像之间的特征映射关系,并通过生成器的生成来生成与输入图像相似的图像。
- 变分自编码器:文心一言模型的变分自编码器使用变分自编码器来学习输入图像和生成图像之间的特征映射关系。变分自编码器可以通过学习输入图像和生成图像之间的残差来生成与输入图像相似的图像。
- 其他变种模型:除了上述几种模型之外,还有一些变种模型,如基于VAE和GATCN的模型,这些模型可以结合不同的图像生成任务和特点,选择合适的模型进行图像生成。
总的来说,文心一言的图像生成算法主要包括深度学习、生成对抗网络和变分自编码器等。这些算法可以结合不同的任务和特点,选择合适的模型进行图像生成,以实现更加高效和准确的图像生成。
1.4 文心一言和ChatGPT对比不足和优势
刚开始回答这个问题的时候,文心一言回答的很笼统,没有正面回答问题。
当问到文心一言和ChatGPT-4的优缺点时候,将二者的优点都列了出来。
连续提问了几个类似的问题,都是上面的答案,强烈怀疑这个问题是人工标注的。
2、简单几个问题
2.1 文字处理和文学创作
1)写一篇报告,关于数据经济的发展
文心一言给出一个纲要,如下:
数字经济是指以数字技术为基础,通过数字化的手段和方式来推动经济发展的新型经济形态。数字经济的发展具有广阔的前景和潜力,对于推动实体经济的转型升级和提高国家竞争力都具有重要的作用。
数字经济的发展背景:
随着信息技术的不断发展,数字经济逐渐成为了推动经济发展的重要动力。数字经济的发展与信息技术密不可分,尤其是互联网和移动通信技术的快速发展,为数字经济的发展提供了坚实的基础。同时,数字经济的发展也受到政策环境的支持和市场需求的拉动。
数字经济的发展现状:
目前,数字经济已经成为了全球经济发展的重要趋势。数字经济的发展主要表现在以下几个方面:
第一,数字技术的应用不断深入。数字技术在各个领域的应用不断深入,包括金融、医疗、教育等传统行业,也包括制造业、农业、物流等新兴行业。
第二,数字经济的市场规模不断扩大。数字经济的市场规模不断扩大,涵盖了数字化服务、电子商务、数字娱乐等多个领域。
第三,数字经济的产业链结构不断完善。数字经济的产业链结构不断完善,数字技术的应用不断深入到产业链的各个环节,推动了数字经济的发展。
数字经济的发展存在问题:
虽然数字经济的发展具有广阔的前景和潜力,但是也存在一些问题和挑战。
第一,数字经济的发展不平衡。不同地区、不同行业的数字经济发展水平存在差异,发展不平衡的问题也逐渐显现。
第二,数字经济的安全问题。数字经济的发展需要保障数字资产的安全性和隐私性,但是数字经济的发展过程中也存在着数字资产被盗窃、滥用等安全问题。
第三,数字经济的人才问题。数字经济的发展需要具有数字化、信息化、创新能力的人才,但是数字经济的发展过程中也存在着人才缺乏的问题。
数字经济的发展趋势:
未来,数字经济的发展趋势将会更加多元化和深入化。数字技术的应用将会更加广泛,数字经济的市场规模将会进一步扩大,数字经济的产业链结构将会更加完善,数字经济的发展将会更加注重创新和人才的培养。同时,数字经济的发展也需要面对信息安全、数字资产保护等问题的挑战。
数字经济的发展建议:
为了推动数字经济的发展,我们需要采取一系列的措施。
第一,加强数字经济的政策环境建设。政府应该制定更加积极的数字经济发展政策,加强数字经济领域的规划和引导,推动数字经济的健康发展。
第二,加强数字经济的产业链结构建设。政府和企业应该加强数字技术的应用,推动数字经济产业链的完善,提高数
2)做一个PPT,关于数字经济的发展
文心一言给出大致的纲要模板
标题页:
数字经济的发展
第一页:
标题:数字经济的发展
副标题:数字经济的广阔前景和潜力
第二页:
图表:数字经济的市场规模
图表:数字经济的产业链结构
文字:数字经济的发展受到政策环境和市场需求的支持
第三页:
图表:数字经济的发展现状
文字:数字经济已经成为全球经济发展的重要趋势
第四页:
图表:数字经济的安全问题
文字:数字经济的发展需要保障数字资产的安全性和隐私性
第五页:
图表:数字经济的人才问题
文字:数字经济的发展需要具有数字化、信息化、创新能力的人才
第六页:
图表:数字经济的发展趋势
文字:未来数字经济的发展将会更加多元化和深入化
第七页:
图表:数字经济的发展建议
文字:政府、企业和个人应该共同推动数字经济的发展
结尾页:
标题:数字经济的发展
副标题:数字经济的发展是推动实体经济转型升级和提高国家竞争力的重要手段
文字:让我们共同努力,推动数字经济的发展,为实现数字化的中国梦贡献力量。
对于这些特定主题的回答,文心一言的理解及归纳能力还是不错的。
3)广东省2022年的高考作文“本手、妙手、俗手”作文一篇,文心一言给出的答案
标题:本手、妙手、俗手:围棋三种不同的下法在围棋世界里,本手、妙手、俗手是三个非常重要的术语。它们描述了围棋下法中的三个不同层次,对于围棋的学习和提高都具有重要的意义。本手是指合乎棋理的正规下法,是围棋的基础,是每个围棋爱好者都应该掌握的技能。本手的学习需要扎实的基本功,只有通过不断的练习和思考,才能逐渐掌握。在围棋中,本手是基础中的基础,只有掌握了本手,才能在围棋的道路上走得更加稳健。妙手是指出人意料的精妙下法,是围棋的高级技巧,需要经过长期的研究和实践才能掌握。妙手不仅需要扎实的基本功,还需要有超凡的创造力和想象力。在围棋中,妙手是创造力的体现,是一种创新和突破,它能够让人眼前一亮,给对手带来意想不到的打击。俗手是指貌似合理,而从全局看通常会受损的下法。俗手虽然看似合理,但是从整体上看,会给全局带来损失,影响整个棋局的平衡。在围棋中,俗手是需要避免的,它会影响棋手的水平和信心,甚至会导致整个棋局的失败。在学习围棋的过程中,我们应该注意到本手和妙手的重要性,但也不能忽视俗手的存在。只有通过深入的理解和不断的实践,才能真正掌握围棋的精髓,成为一名出色的围棋爱好者。
在围棋中,本手是基础,妙手是创造,俗手是需要避免的。只有通过不断的学习和实践,才能真正掌握围棋的技巧,成为一名出色的围棋爱好者。让我们一起努力,不断学习和探索,追求更高的围棋境界。最后,我想引用一句话来总结本文的内容:“本手是基础,妙手是创造,俗手是需要避免的。”让我们在围棋的学习和实践中,始终牢记这句话,不断追求更高的围棋境界。
让文心一言给自己评分,回答的却是很实诚,得到40分左右,只对三个术语进行了介绍,没有自己的感悟和思考。
对比下之前ChatGPT-3.5给出的答案,也是在说围棋,没有跳出来思考和感悟,这一点上AI模型还是有所欠缺的。
标题:扎实的基础是必不可少的学习一项技能,我们必须从基础开始。围棋,这项神秘又古老的游戏,对于初学者来说,先要掌握“本手”。“本手”是指合乎棋理的正规下法。它是一种经过深思熟虑,按照规则进行操作的方法。在学习围棋时,我们要深入理解“本手”,仔细研究它的精髓,并在实践中持之以恒地练习。只有在“本手”的基础上,我们才能进一步提高棋力。然而,有些初学者却不愿意专注于“本手”。他们更喜欢挑战“妙手”,这种出人意料的精妙下法。“妙手”可能会带来惊喜和快乐,但是,它往往是“本手”的延伸。如果我们不扎实地掌握“本手”,就很难想象会出现什么“妙手”。另外,如果不坚持“本手”,我们就很可能会走上一条不归路——“俗手”。“俗手”是指貌似合理,而从全局看通常会受损的下法。它看起来似乎有用,但实际上并不可取。如果我们不明确“本手”的价值,就容易掉入“俗手”的陷阱。这样,我们的棋力不仅不会提高,反而会下降。因此,在学习围棋时,我们应该重视“本手”的功夫。“本手”是基础,它不仅能帮助我们在比赛中取得好成绩,而且还能为我们创造出“妙手”。只有扎实的基础,我们才能绽放出自己独特的光芒。学习“本手”的过程中,我们需要专注、认真、耐心。这需要我们投入大量的时间和精力。同时,我们也需要严格按照“本手”的要求去操作,不断地练习、反复练习。通过不断练习,我们才能掌握“本手”,并将它融入我们的比赛。
“本手”也能为我们提供指导,让我们更好地理解围棋的规则和奥妙。它能帮助我们建立良好的棋风,让我们的棋艺更加优秀。在实践中,我们可以通过多接触不同的“本手”,从中学习经验和技巧。例如,我们可以和更高水平的选手比赛,从他们身上学习“本手”的精髓。我们也可以阅读围棋教程,从中获取“本手”的相关知识。通过不断学习和实践,我们的“本手”水平一定会有所提高。总之,“本手”是围棋学习中不可或缺的。我们要珍惜它,并努力掌握它。只有这样,我们才能真正成为一名优秀的围棋选手。
2.2 数理逻辑和推算
1)5年前,妈妈年龄是儿子的7倍,儿子今年9岁,妈妈今年多少岁?
这么简单的问题,逻辑有误,另外一个相似的问题,就能推导出来,感觉在训练上做过人工标注。
2)给出傅里叶变换的推导方法
文心一言给出了两种推导方法:基于复变函数的傅里叶变换和基于傅里叶级数的傅里叶变换
2.3 编码能力
1)用Python程序实现排序算法
文心一言给出了五种算法:冒泡排序、选择排序、插入排序、快速排序、归并排序
以下是Python中常用的排序算法:
#冒泡排序
def bubble_sort(arr): n = len(arr) for i in range(n): for j in range(0, n-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr
#选择排序
def selection_sort(arr): n = len(arr) for i in range(n): min_idx = i for j in range(i+1, n): if arr[j] < arr[min_idx]: min_idx = j arr[i], arr[min_idx] = arr[min_idx], arr[i] return arr
#插入排序
def insertion_sort(arr): n = len(arr) for i in range(1, n): key = arr[i] j = i - 1 while j >= 0 and arr[j] > key: arr[j+1] = arr[j] j -= 1 arr[j+1] = key return arr
#快速排序
def quick_sort(arr): if len(arr) <= 1: return arr else: pivot = arr[0] left = [] right = [] for i in range(1, len(arr)): if arr[i] < pivot: left.append(arr[i]) else: right.append(arr[i]) return quick_sort(left) + [pivot] + quick_sort(right)
#归并排序
def merge_sort(arr): if len(arr) <= 1: return arr else: mid = len(arr) // 2 left = arr[:mid] right = arr[mid:] return merge_sort(left) + merge_sort(right)
这些算法都是基于比较和交换的,可以根据具体情况选择使用。
2)用Python程序处理服务器的CPU数据,并利用echart生成图表
完整代码如下:
要使用Python程序处理服务器的CPU数据并使用ECharts生成图表,您需要使用Python的socket模块和pyecharts模块。
首先,您需要安装socket模块和pyecharts模块。您可以使用以下命令在终端中安装它们:
pip install socket socket-ssl
pip install pyecharts
接下来,您需要编写一个Python程序来监听服务器的CPU使用情况。这个程序应该在服务器启动时运行,并且应该在每秒钟检查一次CPU使用情况。您可以使用socket.getrusage()函数来获取CPU使用情况。
import socket
import time def cpu_usage(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.bind(('localhost', 8000)) sock.listen(1) while True: conn, addr = sock.accept() try: while True: data = conn.recv(1024) if not data: break conn.sendall(data) time.sleep(0.1) finally: conn.close() cpu_usage()在这个程序中,cpu_usage()函数将在每秒钟检查一次CPU使用情况。它使用socket.getrusage()函数来获取CPU使用情况,并将其发送回客户端。
接下来,您需要使用pyecharts模块来生成图表。您可以使用以下命令在终端中安装它:
pip install pyecharts
然后,您需要编写一个Python程序来将CPU使用情况和其他数据发送回ECharts。您可以使用pyecharts.charts模块来创建图表。
from pyecharts import charts
from pyecharts.charts import Line cpu_data = []
cpu_chart = charts.Line()
cpu_chart.add('cpu_usage', cpu_data)
cpu_chart.render('cpu_usage.html')
在这个程序中,cpu_data是一个包含CPU使用情况的列表。cpu_chart是一个ECharts图表对象,它将cpu_data添加到图表中。最后,cpu_chart.render()函数将图表保存到名为cpu_usage.html的文件中。
请注意,这只是一个简单的示例程序。您需要根据您的实际需求进行修改和调整。
2.4 图片生成
文心一言之前画图被全网群嘲,比如什么夫妻肺片、车水马龙完全是望文生义,不知所言。
1)画一幅画:车水马龙。和之前相比,是进步不少
相比较之前,确实进步不少。
2)中文语义的理解,画一幅“落霞与孤鹜齐飞,秋水共长天一色”
2.5 专业领域知识
1)分布式接口幂等性设计实现方法有哪些
- 基于原子操作的幂等性实现方法:原子操作是指在分布式系统中,对于任意一个操作,不会因为某个节点的故障而导致整个系统的不可用。基于原子操作的幂等性实现方法,可以通过原子操作的方式来保证接口的幂等性。
- 基于分布式锁的幂等性实现方法:分布式锁是一种用于保证分布式系统中多个节点间互斥访问共享资源的机制。基于分布式锁的幂等性实现方法,可以通过使用分布式锁来保证接口的幂等性。
- 基于消息队列的幂等性实现方法:消息队列是一种用于在分布式系统中异步传递消息的机制。基于消息队列的幂等性实现方法,可以通过使用消息队列来保证接口的幂等性。
- 基于数据复制的幂等性实现方法:数据复制是一种用于在分布式系统中同步数据的机制。基于数据复制的幂等性实现方法,可以通过使用数据复制来保证接口的幂等性。
以上是分布式接口幂等性设计实现方法的一些常见方法,具体选择哪种方法应根据具体的业务场景和需求来进行权衡和选择。
2)自古至今,中医有哪些流派?最贴近中医本质的是哪些学派?
3)在国内国产化数据库的发展现状是怎样的。有哪些代表性的数据库产品
当然,作为专业领域对上面的答案是不满意的。
3、总结
百度的文心一言模型体验下来,有几点感触:
- 画图的功能有了质的提升,之前出现的牛头不对马嘴的情况少了,说明不是简单的中文翻译为英文去调用API接口
- 数理逻辑的能力上还有待提升,有些简单的数学推理出现低级错误
- 文字的处理及创作上,丰富的感情和思想内涵还是目前AI做不到的
- 专业知识领域的准确性有待辨别
- 有些敏感话题的阻断,比如我问到二十大相关,这个话题就直接结束了
参考资料:
- https://yiyan.baidu.com/
- 地表最强AI模型ChatGPT体验