大语言模型(Large Language Models, LLM)作为人工智能领域的前沿技术,近年来得到了迅速的发展和广泛的关注。本书《大规模语言模型从理论到实践》由张奇、桂韬、郑锐、黄萱菁联合著作,旨在向读者全面介绍大语言模型的研究背景、发展历程、理论基础以及实践应用。 本书前言部分回顾了自然语言处理(Natural Language Processing, NLP)的历史,从1947年第一台通用计算机ENIAC的问世,到20世纪50年代末到60年代初的初创期,再到21世纪初的经验主义时代,以及深度学习时代的到来。在2017年Transformer模型提出后,自然语言处理经历了爆发式的增长。特别是2018年,动态词向量ELMo模型的出现,以及以GPT和BERT为代表的预训练语言模型的提出,标志着自然语言处理进入了一个新的预训练微调时代。2019年至2022年间,GPT-2、T5、GPT-3等具有庞大参数量的大语言模型相继发布,极大地推动了语言模型的发展。直至2022年11月ChatGPT的问世,预示着大语言模型研究进入了一个全新的高度。 书中详细介绍了大语言模型的三个主要发展阶段:基础模型阶段、能力探索阶段和突破发展阶段。在基础模型阶段,众多重要的语言模型如BERT、GPT、百度ERNIE等被提出并广泛应用,为后续发展奠定了基础。能力探索阶段,则是研究者们探索如何在不进行单一任务微调的情况下发挥大语言模型的能力,同时开始尝试指令微调方案,将不同任务统一为生成式自然语言理解框架。随着2022年11月ChatGPT的发布,大语言模型的研究热潮被推向新高。 书中还提到了大语言模型在实践应用中的种种挑战,包括训练过程的复杂性、参数量的庞大以及对分布式并行计算的依赖等。这些挑战要求研究人员不仅要有扎实的自然语言处理基础理论和机器学习基础,同时还需要掌握分布式系统和并行计算的相关知识。 本书的作者们结合自己在自然语言处理和分布式系统教学方面的经验,历时8个月完成,目的是帮助读者快速了解大语言模型的研究和应用,并解决相关的技术挑战。全书不仅仅为自然语言处理研究人员提供了宝贵的参考资料,也适合对大语言模型感兴趣的读者阅读。 大语言模型的发展对于人工智能领域具有重大意义,它不仅提升了机器翻译、文本生成、对话系统等NLP任务的性能,还为未来人工智能的发展开辟了新的可能性。通过本书的学习,读者能够对大语言模型有一个全面而深入的理解,进而能够在实际研究和应用中取得突破。本书对于那些希望掌握大语言模型技术和深入研究其潜能的读者来说,是一份不可多得的宝贵资料。
2025-12-03 11:37:28 26.46MB 语言模型
1
大语言模型 从理论到实践 第二版
2025-12-03 11:35:47 53.29MB Transformer
1
内容概要:本文档是《Understand(SciTools)_User Guide and Reference Manual_June 2023.pdf》的详细介绍,旨在为用户提供关于Understand软件的全面指导。Understand是一款静态分析工具,专注于源代码的理解、度量和标准测试,支持多种编程语言(如C、C++、Java、Python等)。它提供跨平台、多语言的维护型集成开发环境(IDE),帮助开发者理解和维护大量的遗留或新创建的源代码。文档详细介绍了安装配置、项目管理、代码导航、图形化视图、架构设计、度量分析、代码检查等功能模块。此外,还涵盖了命令行处理、外部工具集成、自定义脚本等方面的内容。 适合人群:适用于具有中等编程语言理解能力的开发人员,特别是那些需要维护和理解大型代码库的专业人士。 使用场景及目标:①帮助开发人员快速理解复杂项目的结构和依赖关系;②支持代码质量检查和优化,确保符合ISO 26262、IEC 61508等标准;③提高团队协作效率,通过共享注释、架构和度量结果等方式促进沟通;④辅助进行代码重构和性能优化,利用内置的重构工具和度量功能。 其他说明:由于Understand采用快速迭代开发模式,部分功能可能尚未完全记录在文档中。用户可以通过support@scitools.com联系技术支持团队获取帮助。此外,文档中的某些内容受政府限制权利条款保护,具体条款参见文档正文。建议用户在使用过程中结合实际需求探索和实践各项功能,充分利用右键菜单、快捷键等高效操作方式。
1
内容概要:本文介绍了一种新的计量经济学模型——TVP-QVAR-DY溢出指数模型。该模型结合了时变参数(TVP)、分位数回归(QVAR)和DY溢出指数的思想,旨在解决传统QVAR-DY溢出指数方法中存在的窗口依赖性和样本损失问题。通过R语言实现,可以导出静态溢出矩阵、总溢出指数、溢出指数、溢入指数和净溢出指数等结果,并进行可视化展示。与传统方法相比,TVP-QVAR-DY模型不仅避免了窗口依赖性,还提供了更好的拟合效果和更全面的信息。 适合人群:对金融经济学感兴趣的研究人员、经济学家、数据分析员、金融从业者。 使用场景及目标:适用于研究经济变量之间的相互影响,特别是在金融市场波动分析、政策评估等领域。目标是提高对经济系统动态特性的理解和预测能力。 其他说明:该模型的优势在于其灵活性和准确性,能够在不牺牲样本完整性的前提下,提供更为精确的经济变量间关系分析。
2025-12-02 20:57:15 252KB R语言 溢出指数
1
根据提供的文件信息,我们可以归纳总结出以下几个相关的C语言指针知识点: ### 1. 使用指针比较并交换三个变量的值 #### 代码解析 在第一个示例代码中,我们看到一个程序用来比较并交换三个整数变量 `a`, `b` 和 `c` 的值。这里使用了指针来传递变量的地址。 - **函数定义**:`void exchange(int *p1, int *p2, int *p3);` 这里定义了一个名为 `exchange` 的函数,接受三个指向整数的指针作为参数。 - **调用方式**:`exchange(&a, &b, &c);` 这里通过取地址符 `&` 获取变量 `a`, `b`, `c` 的地址,并将它们传递给 `exchange` 函数。 - **内部处理**:在 `exchange` 函数内部,又调用了另一个名为 `jiaohuan` 的函数来完成两个整数的交换操作。 - **交换函数**:`void jiaohuan(int *a, int *b)` 这个函数接受两个指向整数的指针作为参数,用于交换它们所指向的整数值。 #### 知识点总结 - **指针传递**:通过传递变量的地址而非值,可以在被调用函数中直接修改原始变量。 - **指针与函数**:可以将指针作为函数参数传递,实现对原始数据的直接操作。 - **动态交换**:使用临时变量来交换两个整数的值。 ### 2. 约瑟夫环问题 #### 代码解析 该代码解决了经典的约瑟夫环问题,即有13个人围成一圈,按照特定规则逐个淘汰,直到最后剩下一个人。 - **初始化数组**:使用 `xuhao` 函数初始化一个包含13个整数的数组,代表13个人的编号。 - **处理过程**:`chulie` 函数实现了游戏的核心逻辑,它遍历数组,当遇到编号未被清除的人时计数,每当计数达到指定值(这里为3)时,就输出该人的编号并将其编号设为0表示此人已经出局。 - **结果输出**:最后输出最后留下来的那个人的编号。 #### 知识点总结 - **数组与指针**:使用指针来访问数组元素,提高了代码的灵活性。 - **循环结构**:通过循环结构实现对数组元素的遍历和处理。 - **条件判断**:通过条件语句控制游戏的流程。 ### 3. 数组元素求和 #### 代码解析 这段代码的功能是从数组 `arr` 的第 `m` 个元素到第 `n` 个元素求和。 - **输入数组**:首先读入一个包含10个整数的数组 `arr`。 - **求和过程**:通过指针 `p` 指向数组 `arr` 的首地址,然后移动指针到第 `m` 个元素的位置,开始累加直到第 `n` 个元素。 - **结果输出**:输出从第 `m` 个元素到第 `n` 个元素的和。 #### 知识点总结 - **指针与数组**:通过指针操作数组元素,提高了代码的可读性和效率。 - **循环控制**:使用循环结构来控制累加的过程。 - **边界检查**:确保 `m` 和 `n` 的值不会导致数组越界。 ### 4. 数组元素移动 #### 代码解析 该代码实现了数组元素的移动,即将数组中的每个元素向后移 `m` 个位置。 - **输入数组**:通过循环读入一系列整数,并存储在数组 `arr` 中。 - **移动操作**:通过指针操作实现数组元素的移动。首先输入要移动的位数 `a`,然后利用双重循环结构,将数组末尾的 `a` 个元素移到数组开头。 - **输出结果**:输出移动后的数组元素。 #### 知识点总结 - **指针与数组操作**:通过指针操作实现数组元素的移动。 - **循环结构**:使用循环结构来实现数组元素的复制。 - **边界检测**:确保移动位数不会超过数组长度。 ### 5. 字符串合并与排序 #### 代码解析 该段代码用于合并两个字符串,并对合并后的字符串按ASCII码值排序,且每个字符只出现一次。 - **输入字符串**:读入两个字符串 `arr_1` 和 `arr_2`。 - **字符串合并与排序**:由于代码片段不完整,我们无法看到完整的实现细节。通常情况下,会先将两个字符串连接起来,然后使用排序算法(如冒泡排序)对字符进行排序,并在排序过程中去除重复字符。 - **输出结果**:输出排序后的字符串。 #### 知识点总结 - **字符串操作**:使用字符串库函数(如 `gets`)来输入字符串。 - **排序算法**:使用排序算法(如冒泡排序)对字符进行排序。 - **去重处理**:在排序过程中去除重复字符。 这些代码片段涉及到了C语言中的多个核心概念,包括指针、数组、函数、字符串操作等。通过实际的编程练习,初学者可以更好地理解和掌握这些知识点。
2025-12-02 17:15:01 43KB
1
C++实现归并排序(MergeSort) 在这里,我们将详细介绍C++实现归并排序(MergeSort)的知识点。归并排序是一种稳定的排序算法,它的思路是将数组不断地分割成两个子序列,直到每个子序列只有一个元素为止,然后将这些子序列从小到大合并为一个序列。 我们来看一下归并排序的思路: 1. 划分:一直调用划分过程,直到子序列为空或只有一个元素为止,共需log2(n)。 2. 归并:将两个子序列从小到大合并为一个序列。 下面是C++实现归并排序的程序代码: ```c #include using namespace std; // 合并两个有序的序列 template void Merge(T arr[], int start, int mid, int end) { int i, j, k, n1, n2; k = 0; n1 = mid - start + 1; n2 = end - mid; T *L = new T[n1], *R = new T[n2]; for (i = 0; i < n1; i++) // 将arr的左部分赋给L L[i] = arr[start + i]; for (j = 0; j < n2; j++) // 将arr的右部分赋给R R[j] = arr[mid + j + 1]; i = 0; j = 0; k = start; while (i < n1 && j < n2) { // 合并 if (L[i] <= R[j]) { arr[k] = L[i]; i++; } else { arr[k] = R[j]; j++; } k++; } while (i < n1) { // 左部分没处理完 arr[k] = L[i]; k++; i++; } while (j < n2) { // 右部分没处理完 arr[k] = R[j]; k++; j++; } delete[] L; delete[] R; } // 归并排序 template void MergeSort(T arr[], int start, int end) { int mid; if (start >= end) return; mid = (start + end) / 2; MergeSort(arr, start, mid); MergeSort(arr, mid + 1, end); Merge(arr, start, mid, end); } // 输出数组 template void Print(T arr[], int n) { int i; for (i = 0; i < n; i++) cout << arr[i] << " "; cout << endl; } int main(int argc, const char *argv[]) { int n, i, arr[50]; cout << "请输入要排序的数的个数:"; cin >> n; srand((int)time(NULL)); // 设置时间为随机点 for (i = 0; i < n; i++) // 产生n个随机数 arr[i] = rand() % 100; cout << "排序前:"; Print(arr, n); MergeSort(arr, 0, n - 1); // 调用归并排序 cout << "排序后:"; Print(arr, n); return 0; } ``` 通过上面的代码,我们可以看到,归并排序的实现是通过递归地将数组分割成两个子序列,然后将这些子序列从小到大合并为一个序列。我们可以通过Print函数来输出排序后的结果。 C++实现归并排序是一种高效的排序算法,它的时间复杂度为O(n log n),且它是一种稳定的排序算法,适合大规模数据的排序。
2025-12-02 12:11:38 45KB 归并排序
1
汉字,作为世界上最古老的文字之一,承载着五千年中华文明的深厚底蕴。国家标准汉字分为一级汉字和二级汉字,这些汉字在日常使用中占据了主导地位。本文将深入探讨国标一级汉字和二级汉字,以及它们的排序规则。 国标一级汉字,全称为《信息交换用汉字编码字符集·基本集》的一级汉字,共3755个,是根据汉字的使用频率和重要性划分的。一级汉字涵盖了最常用和最重要的汉字,几乎覆盖了日常书面语和口头语的全部需求。这些汉字按照汉语拼音的顺序排列,便于查找和学习。例如,从“啊”到“阈”,每个汉字都对应其汉语拼音,使得查找过程更为系统化。 国标二级汉字则是对一级汉字的补充,包括3008个汉字。这些汉字在日常生活中出现的频率相对较低,但仍然常见于专业文献、古籍、方言或特定领域中。与一级汉字不同,二级汉字是按照部首笔画进行排序的。部首是汉字的基本构造单位,笔画则是组成汉字的最小线条。通过部首和笔画,可以快速定位和识别汉字。例如,“氵”部首的汉字会集中在一起,然后按照总笔画数进一步排序。这种排序方式既体现了汉字的构造特点,也方便了对汉字的学习和研究。 国标汉字编码字符集的制定,是为了规范汉字在信息技术中的应用,确保不同设备和系统间的信息交换能够准确无误。其中,GB2312是最早的基础国标,后来被GBK和GB18030等标准所扩展,支持更多汉字和字符。在这个压缩包中,提供的两个文本文件分别包含了国标一级汉字和二级汉字的列表,对于汉字学习者、编程人员或从事汉字处理的工作者来说,都是宝贵的资源。 了解汉字的排序规则,不仅可以提高查阅效率,还能帮助我们更好地理解汉字的结构和演变。例如,通过拼音排序,我们可以看到汉字的音韵变化;而部首笔画排序则揭示了汉字的形体规律。在教学、研究或开发汉字输入法、搜索引擎时,这样的资源尤为实用。 国标一级汉字和二级汉字的列表是学习汉字、研究汉字文化及信息技术应用的重要参考资料。掌握它们的排序规则,可以深化我们对汉字的理解,同时在实际应用中提高效率。这两个文本文件的提供,无疑为相关领域的工作者和学习者提供了便利,使他们能更系统地接触和掌握汉字这一独特的语言符号。
2025-12-02 09:15:05 632B
1
郝斌的C语言详细笔记涵盖了一系列与C语言编程相关的核心知识点,详细介绍了C语言的发展历程、特点、以及在不同领域中的应用。通过笔记内容,我们可以了解到C语言作为一种重要的编程语言,在计算机科学领域中拥有举足轻重的地位。 C语言的发展历程中,它起源于第三代编程语言,并且以其结构化的特点成为该时期最具代表性的语言之一。郝斌的笔记详细讲解了不同编程语言的分工和特性,比如Fortran语言主要用于科学计算,Basic语言是Visual Basic的前身,而Pascal语言常用于教学。特别强调了C语言在编程语言中的核心地位,以及它在速度、功能以及直接控制硬件方面的优势。 在深入探讨C语言特点时,笔记指出了C语言的优缺点,包括代码量小、速度快、功能强大等优点,同时也指出了它的危险性高、开发周期长和可移植性弱等缺点。此外,笔记还讨论了C语言在操作系统开发中的独特优势,特别是其执行速度快和能直接控制硬件的能力。 笔记详细分析了C语言在不同操作系统中的应用情况,指出Windows内核是用C语言编写的,而其外壳则使用了C++。同时强调了Java语言虽然可移植性强,但因运行速度慢而不适用于编写操作系统。Linux和Unix操作系统同样也是使用C语言开发。 郝斌的笔记还细致地探讨了C语言的关键字和程序格式,强调编程时需要养成良好的代码规范习惯,比如及时保存代码、括号成对出现和使用适当空格。此外,笔记还介绍了C语言程序的基础知识,如CPU、内存、硬盘等硬件组件的功能和相互之间的关系,以及C语言中数据类型和变量的定义和使用。 笔记还涉及了C语言在不同应用领域中的重要性,例如在编写驱动和数据库时使用的语言,同时强调了病毒制作时必须掌握的编程语言。笔记强调了学习C语言的重要性和学习目标,比如掌握简单算法、熟悉语法规则以及能够看懂和调试程序。 郝斌的C语言详细笔记为初学者提供了一套全面且系统的C语言学习资料,不仅覆盖了C语言的基础知识,还深入分析了C语言在不同领域的应用,是一份难得的C语言入门教程。
2025-12-01 23:51:53 6.04MB
1
Fortify SCA 支持丰富的开发环境、语言、平台和框架,可对开发与生产混合环境进行安全检查。25 种编程语言 超过 911,000 个组件级 API 可检测超过 961 个漏洞类别 支持所有主流平台、构建环境和 IDE。 Fortify SCA是一款商业软件,价格较为昂贵,因此我只找到了一个早期的版本进行试用。因为是商业软件,它有详细的使用文档,查阅非常方便。它支持一些IDE的插件功能,在安装的时候会有选项。 Fortify SCA的代码审计功能依赖于它的规则库文件,我们可以下载更新的规则库,然后放置在安装目录下相应的位置。bin文件放置在安装目录下Coreconfigrules文件夹,xml文件放置在CoreconfigExternalMetadata文件夹(如果该文件夹没有则新建一个)。
2025-12-01 08:58:08 993.6MB 编程语言 网络安全 代码审计
1
易语言Krnlnex.fne支持库中文名为易语言辅助调试支持库,本易语言支持库提供“调试输出()”“验证()”等调试命令,为调试易语言程序提供便利,增强了易语言核心库中的相关调试命令。 易语言Krnlnex.fne支持库为一般支持库,需要易系统3.7版本的支持,需要系统核心支持库3.7版本的支持,提供了20种命令。 易语言辅助调试支持库为易语言第三方支持库。 操作系统需求: Windows 易语言官方论坛
2025-12-01 00:39:09 33KB 易语言支持库
1