〇、拿到内测资格

最近拿到了文心一言的内测资格,终于有机会可以一睹这个“国产 chatGpt ”的真正面容了!

内测通知

话不多说,我将分几个方面分别测试一下文心一言目前的真实发展进度。

一、语言理解能力

这个方面的测试主要是为了测试百度所谓的“全新一代知识增强大语言模型”对语言的理解程度到底如何,是否真的能够完成基本智能对话的一些简单需求。如果文心一言连最基本的语言理解都还是问题(就像某某千问一样…真的拉跨啊),那么想追赶上 chatGPT 便有点痴人说梦了。

问答测试结果

由于百度文心一言对长截图有点限制,所以截长图可能比较困难,所以只能分段展示测试的结果!

图1.1 语言理解能力测试(未完)
图1.2 语言理解能力测试

分析

从测试结果来看,目前已经接近 chatGPT 3.x 的水平了,但是依旧还有不足。总体来说,文心一言对语言的理解还算比较到位。即使最后我想让他使用“盘古之白^1”的样式回答,他似乎出现了点问题,不过好歹很快就修正了。所以,总体来说还是很不错的,相比之前进步很大

二、代码编写能力测试

对于程序员来说,文心一言的代码编写能力才是提高工作效率的核心功能之一。如果文心一言能够充分理解程序员所提出的需求,并能够给出正确的、合理的代码,那么便是该大语言模型的又进步!所以,我这里以基础的快速排序算法为例,并加上了一些简单的限制条件,而后对其生成的代码作了测试。

问答测试结果

图2.1 代码编写能力测试

代码测试结果

代码测试采用 TDM-GCC 4.9.2 64bitC++11 标准。

测试代码
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
#include <iostream>  
#include <vector>

template<typename T>
class SortAlgorithm {
public:
virtual void sort(std::vector<T>& array) = 0;
};

template<typename T>
class QuickSort : public SortAlgorithm<T> {
public:
void sort(std::vector<T>& array) override {
quickSort(array, 0, array.size() - 1);
}

private:
void quickSort(std::vector<T>& array, int left, int right) {
if (left < right) {
int pivotIndex = partition(array, left, right);
quickSort(array, left, pivotIndex - 1);
quickSort(array, pivotIndex + 1, right);
}
}

int partition(std::vector<T>& array, int left, int right) {
T pivot = array[right];
int i = left - 1;
for (int j = left; j < right; j++) {
if (array[j] <= pivot) {
i++;
std::swap(array[i], array[j]);
}
}
std::swap(array[i + 1], array[right]);
return i + 1;
}
};

int main() {
std::vector<int> data = {64, 25, 12, 22, 11};
QuickSort<int> sorter;
sorter.sort(data);
for (int i : data) {
std::cout << i << " ";
}
return 0;
}

图2.2 代码测试结果

分析

对于这个简单的排序算法,文心一言很轻松的便完成了,并且基本按照我的要求进行设计的。重要的是,代码一次就运行成功,基本不用修改任何内容。所以,总体来说还是有一些不小的进步(主要某某千问给我的感觉差太远了)。

三、解决生活问题能力测试

对于大部分人来说,解决生活上的问题才是文心一言的重要能力。所以,文心一言是否能够按照人们的需求,真正意义上做到帮助人们解决生活上的问题这才是最关键的!下面以减肥为例,我将进行一个以实际生活问题为中心的问答测试。

问答测试结果

图3.1 解决生活问题能力测试(未完)

图3.2 解决生活问题能力测试(未完)

图3.3 解决生活问题能力测试

分析

如果单单从这三次回答来看,总体上来说还是非常不错的,解决问题的分类也比较明确。当然,如果提问方式不对或者提问多给予的信息条件过少,也可能会很大程度上影响最后的回答结果。所以,只要提问的方式正确、合理,那么文心一言给的回答也是基本能够解决我们生活中的一些问题的

四、文件阅读能力测试

这是一个相对较新的功能,虽然目前只支持 docdocxpdf 三种文件格式,并且单个文件的大小也被限制在了 10MB 以内,但是解决一些简单的文件阅读需求应该还是够用的。所以,我拿 Scott Meyers 的《Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14》做了一个简单的内容理解测试。

问答测试结果

图4.1 文件阅读能力测试(未完)

图4.2 文件阅读能力测试(未完)

图4.3 文件阅读能力测试(未完)

图4.4 文件阅读能力测试(未完)

图4.5 文件阅读能力测试

分析

从这些回答来看,文心一言对本书的理解还是比较全面、到位的。文心一言不仅能够理解书中的内容,同时还对书中的内容做了很准确的提炼和概括,这应该是一个非常大的进步了。不得不承认,国内的大语言模型也就文心一言做的还可以。

五、图片绘制能力测试

AI 绘画最近也很火,所以我也想简单测试一下文心一言的绘画能力。不过,令人失望的是文心一言的绘画能力似乎并不是很强。

问答测试结果

图5.1 图片绘制能力测试(未完)

图5.2 图片绘制能力测试(未完)

图5.3 图片绘制能力测试(未完)

图5.4 图片绘制能力测试(未完)

图5.5 图片绘制能力测试

六、总结

本文从五个方面对百度文心一言大语言模型进行了测试,分别是语言理解能力代码编写能力解决生活问题能力文件阅读能力图片绘制能力

  • 语言理解能力方 面,文心一言的表现基本符合预期,能够完成基本的智能对话需求,但仍有不足之处。
  • 代码编写能力 方面,文心一言表现良好,能够充分理解程序员提出的需求,并给出正确的、合理的代码。
  • 解决生活问题能力 方面,文心一言表现优秀,只要提问的方式正确、合理,就能给出满意的答案。
  • 文件阅读能力 方面,文心一言的表现非常出色,能够理解并概括书中的内容,对文件的提炼和概括能力值得肯定。
  • 图片绘制能力 方面,文心一言的表现却令人失望

总体来说,文心一言大语言模型在多个方面表现良好,但仍需不断改进和提升。其优点包括语言理解能力强、代码编写能力强、文件阅读能力优秀等。但也存在一些不足之处,如图片绘制能力差等。未来,希望文心一言能够继续努力不断提升自己的能力,为人们提供更好的服务。