自然语言处理——国内AI大模型调研报告作业

慈云数据 2024-04-27 技术支持 40 0

一、AI起源和发展现状

1.AI的起源

人工智能的起源可以追溯到20世纪中叶,其发展历程充满了挑战与机遇,同时也与技术的进步、数据的积累以及社会对智能机器的追求紧密相连。AI的起源可以追溯到二战时期。1943年,心理学家Warren McCulloch和数学家Walter Pitts提出了第一个神经元模型,这是神经网络的基础。随后,在1950年,艾伦·图灵提出了著名的“图灵测试”,这一测试试图通过机器与人类之间的对话来判断机器是否具有智能,为后来的AI研究奠定了基础。同年,计算机科学家John McCarthy首次提出了“人工智能”这一词汇,并组织了首个人工智能会议。

在20世纪50年代至70年代,AI研究主要围绕推理和专家系统展开。专家系统是一种模拟人类专家知识和推理能力的计算机程序,可以在特定领域内提供专业建议和解决方案。然而,由于技术和计算机性能的限制,AI在这一时期的发展遭遇了困境,被称为“AI寒冬”。

随着计算机技术的不断进步,特别是神经网络和深度学习技术的兴起,AI研究进入了一个新的阶段。1986年,鲁梅尔哈特和麦克莱兰提出了反向传播算法,这是一种训练神经网络的有效方法。此后,深度学习技术逐渐成为AI研究的热点,并在图像识别、语音识别等领域取得了突破性进展。

进入21世纪,AI技术的发展进一步加速。算法的不断创新、数据的海量积累以及计算机处理能力的提升都为AI的发展提供了强有力的支持。深度学习、机器学习等技术使得计算机能够从大量数据中学习和提取特征,进而实现更加智能化的任务。同时,随着互联网的普及和各类传感器的广泛应用,产生和积累了海量的数据,为AI的发展提供了丰富的资源。

2.AI的发展现状

近年来,国内AI技术取得了显著进展,不仅在理论研究和算法创新方面取得了重要突破,还在实际应用中取得了广泛成果。在语音识别、自然语言处理、图像识别、机器学习等领域,国内的研究机构和企业都展现出了强大的实力。

目前,国内AI技术已经广泛应用于智能制造、金融、医疗、教育、交通等多个领域。在智能制造领域,AI技术通过自动化和智能化生产线的建设,提高了生产效率和质量;在金融领域,AI技术应用风险评估、客户服务和反欺诈等方面,为金融机构提供了更加精准和高效的服务;在医疗领域,AI技术通过辅助诊断和治疗,提高了医疗水平和服务质量。

此外,国内AI产业的发展也带动了相关产业链的完善。从芯片设计、硬件制造到软件开发、应用服务,国内AI产业链正在逐步形成,为AI技术的广泛应用提供了有力支撑。

二、国内AI简介

1.文心一言

使用的是基于Transformer的神经网络架构,这是一种先进的深度学习模型,特别适用于处理自然语言任务。通过训练大量的文本数据,能够理解和生成人类语言。在语言模型方面,采用了强大的预训练模型,这使得文心一言能够理解和处理广泛的自然语言输入,并生成流畅、准确的输出。

2.通义千问

通义千问是阿里云研发的通义千问大模型系列的140亿参数规模的模型。Qwen-14B是基于Transformer的大语言模型, 在超大规模的预训练数据上进行训练得到。预训练数据类型多样,覆盖广泛,包括大量网络文本、专业书籍、代码等。

3.讯飞星火

讯飞星火AI是基于一种复杂的架构设计的,它融合了深度学习、自然语言处理和其他人工智能技术。这种架构的设计旨在模拟人类的认知和逻辑推理过程,以实现更加智能化的人工智能应用。

在架构方面,讯飞星火AI采用了分层结构。底层是感知层,负责接收和处理各种类型的信息,包括文本、图像、声音等。这一层的主要功能是对外部世界的感知和数据的初步处理,为后续的认知和理解提供基础。

中间层是认知层,负责将感知到的信息进行分析和理解。它利用深度学习和自然语言处理等关键技术,模拟人脑的认知过程,对信息进行深入的解析和推理。通过这一层,讯飞星火AI能够理解并回答复杂的问题,进行逻辑推理,甚至在一些领域表现出超越人类的智能。此外,讯飞星火AI还具备跨领域的知识和语言理解能力,能够基于自然对话方式理解与执行任务。这得益于其强大的知识库和语言模型,使得它能够理解并生成自然、流畅的语言,与人类进行高效的交互。

综上所述,讯飞星火AI的架构设计充分体现了人工智能技术的最新发展,为实现更加智能化、人性化的应用提供了有力的支持。它不仅在语音识别、自然语言处理等方面表现出色,还在教育、金融等多个领域展现出广阔的应用前景。

4.360智脑

360智脑AI是基于一种先进的、综合性的技术架构而构建的。这种架构融合了深度学习、自然语言处理、机器学习等多项人工智能技术,旨在实现高效、精准的智能服务。

首先,360智脑AI采用了深度学习技术,这是一种模拟人脑神经网络的机器学习方法,通过大量的数据训练模型,使机器能够自动学习和适应复杂的任务。深度学习技术使得360智脑AI能够深度理解和分析各种类型的数据,包括文本、图像、声音等,从而为用户提供更加精准、个性化的服务。

其次,自然语言处理技术是360智脑AI架构中的关键组成部分。利用机器学习和语言学的知识,自然语言处理技术使机器能够理解和处理人类的语言信息,实现与用户的智能交互。这使得360智脑AI能够准确理解用户的意图和需求,并给出相应的回应和建议。

此外,360智脑AI还集成了多种机器学习算法和模型,以满足不同场景下的人工智能应用需求。这些算法和模型经过优化和训练,能够在各种复杂环境中稳定运行,提供高效、可靠的智能服务。

5.天工

天工AI是基于业内顶尖的MoE(Mixture of Experts,混合专家)模型架构进行构建的。MoE模型架构是一种集成学习的方法,它通过将多个专家模型组合在一起,每个专家模型专注于处理不同的任务或数据子集,从而实现更强大的性能和更高的灵活性。

天工AI通过采用MoE架构,显著提升了其应对复杂任务的能力,使模型响应速度更快、训练及推理效率更高,同时扩展性也更强。这种架构的优势在于它能够在保持模型复杂性的同时,通过并行处理和专家分工来提高计算效率。

在天工AI中,MoE架构的应用使得它能够更好地理解和处理用户输入的数据,无论是文本、图像还是其他类型的数据。天工AI可以通过深度学习和自然语言处理技术,自动学习和优化模型参数,从而不断提升其性能和准确性。

此外,天工AI还集成了多种人工智能技术,如机器学习、知识图谱等,以提供更加全面和精准的智能服务。例如,它可以理解用户的自然语言输入,并提供相应的回答和建议;同时,它还可以根据用户的需求和偏好,进行个性化的内容推荐和服务提供。

三、自然语言任务处理对比

1.中英文翻译

中英文翻译都比较准确,但是在文言文翻译还有所欠缺,天工、通义千问和360智脑的处理结果与文心一言相似。以下是文心一言和讯飞星火的处理结果。

文心一言:

讯飞星火:

2.蒙汉文翻译

对于将“我爱计算机”翻译成蒙文的任务,只有天工汉语翻译为传统蒙文,通义千问可以将汉语翻译为传统蒙文和西里尔蒙古文,讯飞星火可以翻译为西里尔蒙古文,360智脑回答错误,文心一言无法翻译。以下为通义千问、360智脑和文心一言的处理结果。

通义千问:

360智脑:

文心一言:

3.脑筋急转弯

处理结果都比较好,其他AI大模型处理结果与之相似,都能得出正确的答案。以下为文心一言的处理结果

文心一言:

4.哲学问题

对于电车难题的哲学问题,给出命令让AI必须回答,讯飞星火和360智脑不做出选择,从两方面考虑优劣性,而文心一言、通义千问和天工都选择扳动开关。以下是文心一言和讯飞星火的处理结果。

文心一言:

讯飞星火:

5.设计算法

对于同一问题,即输出字符串中最长回文子串,360智脑编写的代码无编译错误,在测试样例时出现了错误,错误原因是代码逻辑有错误,天工编写的代码在编译时出现错误,错误原因是在main函数中调用了其他函数范围内定义的变量,文心一言、通义千问和讯飞星火在编译和测试环节都正确,其中文心一言编写的代码最高效,占用空间也更少,其次是讯飞星火,最后是通义千问,在代码解释方面,文心一言最细致,从使用的数据结构、设计思路、再次改进的方法和时间复杂度都展开了说明,通义千问解释的较为笼统,讯飞星火也较为笼统,但是这些大模型也只能编写解决单一问题的代码,编写满足用户个性化需求的代码目前还不是很完善。以下是文心一言、通义千问、天工和360智脑的处理结果。

文心一言:

string longestPalindrome(string s) {  
	    int n = s.size();  
	    if (n  

在这个程序中,dp[i][j]表示从索引i到索引j的子串是否是回文的。我们首先初始化所有长度为1的子串为回文子串。然后,我们遍历所有可能的子串长度cl,从2开始,直到字符串的长度n。对于每个长度,我们检查所有可能的起始索引i,并计算结束索引j。

如果s[i]和s[j]不相等,那么dp[i][j]肯定是false。如果它们相等,我们检查去掉首尾字符的子串dp[i + 1][j - 1]是否是回文的。如果是,则dp[i][j]也是回文的。我们还跟踪找到的最长回文子串的起始和结束索引,以便在遍历结束后返回正确的子串。注意,这个算法的时间复杂度是O(n^2),其中n是字符串s的长度。空间复杂度也是O(n^2),因为我们需要一个二维布尔数组来存储动态规划的状态。对于非常大的字符串,可能需要考虑优化算法,比如使用中心扩展法或马拉车算法(Manacher's Algorithm)来降低时间复杂度。

#include 
#include 
std::string longestPalindrome(std::string s) {
    int n = s.length();
    if (n  maxLength) {
                maxLength = j - i + 1; // 更新最长回文子串的长度
            }
        }
    }
    // 根据最长回文子串的长度,从 dp 表中提取回文子串
    int start = 0;
    for (int i = 0; i  maxLength) {
                    maxLength = k - j + 1;
                    start = j;
                    end = k;
                }
            }
        }
    }
    return maxLength;
}
int main() {
    std::string s = "babadedf"; // 可以更改为任意字符串进行测试
    int length = longestPalindromicSubstring(s);
    std::cout 
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon