大语言模型进阶(二)之大语言模型预训练数据

目录

[3.1 数据来源](#3.1 数据来源)

[3.1.1 通用数据](#3.1.1 通用数据)

[3.1.2 专业数据](#3.1.2 专业数据)

[3.2 数据处理](#3.2 数据处理)

[3.2.1 质量过滤](#3.2.1 质量过滤)

[3.2.2 冗余去除](#3.2.2 冗余去除)

[3.2.3 隐私消除](#3.2.3 隐私消除)

[3.2.4 词元切分](#3.2.4 词元切分)

[3.3 数据影响分析](#3.3 数据影响分析)

[3.3.1 数据规模](#3.3.1 数据规模)

[3.3.2 数据质量](#3.3.2 数据质量)

[3.3.3 数据多样性](#3.3.3 数据多样性)

[3.4 开源数据集](#3.4 开源数据集)

[3.4.1 Pile](#3.4.1 Pile)

[3.4.2 ROOTS](#3.4.2 ROOTS)

[3.4.3 RefinedWeb](#3.4.3 RefinedWeb)

[3.4.4 SlimPajama](#3.4.4 SlimPajama)

[3.5 实践思考](#3.5 实践思考)


大语言模型的"大",不仅体现在其庞大的参数规模,更根植于其消耗的海量训练数据。如果说Transformer架构定义了模型的"大脑结构",那么预训练数据则塑造了其"知识储备"与"思维模式"。数据是模型能力的源泉,也是其偏倚与局限的根源。本章将深入探讨大模型预训练数据的全生命周期:从其多元化的来源、严格的处理流水线,到其对模型性能的深远影响,并剖析几个具有里程碑意义的开源数据集,最终落脚于数据工程的实践哲学。

3.1 数据来源

构建一个强大的大语言模型,其数据来源必须兼具广度深度。广度确保了模型的通用语言理解和世界知识,深度则为其在特定领域的专业能力奠定基础。

3.1.1 通用数据

通用数据构成了模型知识体系的基石,主要来自互联网的公开文本。

  1. 通用爬虫数据 :这是预训练数据的主体,通常占比超过80%。通过大规模网络爬虫(如Common Crawl)获取,囊括了新闻网站、博客、论坛、百科全书(如维基百科)、社交媒体、代码托管平台(如GitHub)等。其特点是规模极大 (以万亿Token计)、覆盖领域极广语言风格多样 ,但同时也噪声极高,包含大量低质量、重复、带有偏见甚至有害的内容。

  2. 图书与出版物:包含数字化的小说、非虚构类书籍、学术出版物等。这类数据通常语言规范、逻辑连贯、信息密度高,是提升模型语言流畅性、叙事能力和深层推理的优质资源。例如,Project Gutenberg提供了大量版权过期的经典文学作品。

  3. 对话与交互数据:来自在线对话平台、客服日志、电影字幕等。这类数据对于塑造模型的对话能力、理解人类指令和情感细微差别至关重要。它是后续指令微调和对话对齐阶段的关键原料,但在预训练初期融入也有助于模型学习交互模式。

关键权衡 :通用数据的核心矛盾在于规模与质量。互联网文本的"长尾效应"明显,高质量内容占比稀少。数据工程的首要任务就是从这海量但嘈杂的原始数据中,筛选出信息密度高、语言规范的部分。

3.1.2 专业数据

随着模型向专业化、垂直化发展,特定领域的高质量数据变得愈发重要。

  1. 科学文献与学术论文:来自arXiv、PubMed、ACM Digital Library等。这类数据富含数学公式、科学概念和严谨的逻辑推理,是培养模型科学素养和复杂问题解决能力的关键。处理此类数据常面临PDF解析、LaTeX渲染、专业术语理解等挑战。

  2. 多语言数据:旨在构建多语言大模型。数据来自各语言的维基百科、新闻网站、文学著作等。其挑战在于不同语言数据量的极度不均衡(英语占主导),以及语言文化特性的准确捕捉。

  3. 代码数据:来自GitHub等开源仓库。代码本质上是高度结构化、逻辑严密的语言。训练于优质代码数据的模型(如Codex、StarCoder)能展现出卓越的代码生成、补全和调试能力。清洗代码数据需关注许可证合规性、去除自动生成代码、识别高质量项目等。

关键理解 :专业数据的引入,本质上是将人类结构化、高信噪比的知识"蒸馏"进模型。它不再是简单的规模堆砌,而是有意识的"知识注入"。未来的模型竞争,很大程度上将体现在高质量、高价值专业数据的获取与利用能力上。

3.2 数据处理

原始数据必须经过一系列严格、复杂的处理流程,才能转化为适合模型训练的"清洁燃料"。这个流程通常被称为数据预处理或数据清洗流水线。

3.2.1 质量过滤

目标是移除低质量文本,如乱码、机器生成内容、充斥关键词的SEO垃圾页面、内容农场文章等。

  1. 启发式规则过滤

    • 语言检测:仅保留目标语言(如英语)的文本。

    • 符号/单词比例:过滤掉含有过多特殊符号、大写字母或异常空格比例的文档。

    • 标点规范性:检查句号、引号等是否匹配。

    • 段落/句子长度:移除过短(可能无意义)或过长(可能解析错误)的文档。

  2. 基于分类器的过滤

    • 训练一个二分类模型(如FastText、小型BERT),来区分"高质量"与"低质量"文本。正例可来自维基百科、知名出版社书籍等公认的高质量语料;负例来自已知的垃圾网站。

    • 困惑度过滤:利用一个在高质量数据上预训练的小型语言模型计算文本的困惑度。困惑度过高的文本,表明其语言模式与高质量数据差异大,可能质量较低。

  3. 流水线示例 :Meta在构建LLaMA数据时使用的启发式规则包括:保留以句号、问号、感叹号或引号结尾的行;移除含"lorem ipsum"的页面;过滤掉含过多脏话的页面;使用fasttext分类器进行语言识别等。

    质量过滤的简化概念示例

    def heuristic_quality_filter(text: str, min_avg_word_length=3, max_symbol_ratio=0.3):
    """
    简单的启发式质量过滤函数
    """
    words = text.split()
    if len(words) < 10: # 文档太短
    return False

    复制代码
     avg_word_len = sum(len(w) for w in words) / len(words)
     if avg_word_len < min_avg_word_length:  # 平均词长过短,可能是乱码
         return False
     
     symbol_count = sum(1 for char in text if not char.isalnum() and not char.isspace())
     symbol_ratio = symbol_count / len(text)
     if symbol_ratio > max_symbol_ratio:  # 符号比例过高
         return False
     
     # 更复杂的规则:检查句子完整性、停用词密度等...
     return True
3.2.2 冗余去除

数据集的重复会导致模型过拟合、记忆训练数据,并降低其泛化能力。去重包括文档级去重子字符串级(或句子级)去重

  1. 精确去重:计算文档的哈希值(如SimHash),移除哈希值完全相同的文档。这能消除完全相同的副本。

  2. 模糊去重/近邻去重

    • MinHash + LSH:这是处理大规模数据去重的经典方法。MinHash可以将高维的文档表示(如词袋模型)压缩为低维的签名,局部敏感哈希(LSH)则能快速找到签名相似的文档对,从而检测出高度相似(如仅改动少数词语)的重复内容。

    • Bloom Filters:用于高效检测是否已见过某个文档或句子。

  3. 应用级别

    • 全局去重:在整个海量语料库中去重,是预训练数据构建的必需步骤。

    • 训练集内去重:防止同一份数据在单个训练周期内重复出现。

    • 训练-测试去重:确保测试集中的内容未在训练集中出现,这是评估模型泛化能力的基本要求。

关键理解 :去重不仅是为了节省存储和计算,更是为了提升数据的信息密度 和模型的泛化性能。研究发现,严格去重能显著改善模型在下游任务上的表现,并减少"数据污染"导致的评估偏差。

3.2.3 隐私消除

互联网数据中不可避免地包含个人信息(PII),如姓名、邮箱、电话号码、住址、身份证号等。必须在训练前尽可能识别并移除或脱敏这些信息。

  1. 基于规则的识别:使用正则表达式匹配电话号码、邮箱、信用卡号等有固定格式的PII。

  2. 基于命名实体识别的模型:使用NER模型识别人名、地名、组织机构名。

  3. 差分隐私:在更严格的场景下,可在训练过程中引入差分隐私机制,为模型更新添加噪声,从理论上保证无法从模型输出中推断出任何单个训练样本的信息。但这通常会损害模型性能。

  4. 法律与伦理审查:建立数据使用的伦理准则,明确禁止使用某些敏感数据(如极端内容、明确的个人隐私泄露内容)。

挑战:隐私消除是一个持续的过程,且存在漏报和误报的权衡。完全消除隐私信息极其困难,这也是开源数据集通常只提供处理后的元数据和获取方式,而非原始文本的原因之一。

3.2.4 词元切分

在文本被模型处理之前,需要将其切分为模型词汇表中的基本单位------词元。这个过程由分词器 完成。现代大语言模型普遍采用子词切分算法。

  1. Byte-Pair Encoding

    • 核心思想:从基础字符开始,迭代地将最频繁相邻的字符对(或子词单元)合并为一个新的词元。

    • 训练过程

      1. 初始化词汇表为所有基础字符(如字节或Unicode字符)。

      2. 在语料库中统计所有相邻词元对的频率。

      3. 将频率最高的词元对合并为一个新词元,加入词汇表。

      4. 重复步骤2-3,直到词汇表达到预定大小或合并次数达到上限。

    • 特点:能有效平衡词表大小和词元序列长度。GPT系列、RoBERTa等模型使用BPE。

  2. WordPiece

    • 与BPE类似,但选择合并的词元对的标准不同。它不直接看频率,而是看合并后对语言模型似然率的提升程度。即,选择合并后能最大程度增加训练数据似然率的词元对。

    • BERT、DistilBERT等模型使用WordPiece。

  3. Unigram Language Model

    • 核心思想:从一个大的种子词汇表开始,迭代地移除对总体似然率贡献最小的词元,直到词汇表缩小到目标大小。

    • 在每一步,它都会基于当前词汇表和Unigram语言模型,使用维特比算法为所有训练句子找到最有可能的词元切分。

    • 特点:更加灵活,可以输出多个概率化的切分结果。SentencePiece工具包常使用此算法。LLaMA、T5等模型使用基于Unigram的SentencePiece分词器。

  4. SentencePiece与字节回退

    • SentencePiece:一个流行的开源分词器库,它将文本视为Unicode字符序列,直接在原始流上进行训练,无需预分词(如空格分隔),从而无缝处理多种语言(包括没有空格分隔的语言,如中文、日文)。

    • 字节回退 :其词汇表以字节 为基本单位构建。任何不在词汇表中的词元(如罕见词、错别字)都可以回退到字节序列来表示。这确保了零陌生词问题,即任何文本都可以被无损地编码和解码,极大地增强了模型的鲁棒性。

    使用HuggingFace Tokenizers库体验BPE分词

    from tokenizers import Tokenizer
    from tokenizers.models import BPE
    from tokenizers.trainers import BpeTrainer
    from tokenizers.pre_tokenizers import Whitespace

    1. 初始化一个BPE模型

    tokenizer = Tokenizer(BPE(unk_token="[UNK]"))

    2. 设置预分词器(按空格简单分割,实际更复杂)

    tokenizer.pre_tokenizer = Whitespace()

    3. 训练器配置

    trainer = BpeTrainer(vocab_size=30000, special_tokens=["[UNK]", "[CLS]", "[SEP]", "[PAD]", "[MASK]"])

    4. 训练分词器(需要文本文件列表)

    files = ["path/to/your/text1.txt", "path/to/your/text2.txt"]
    tokenizer.train(files, trainer)

    5. 使用分词器

    encoded = tokenizer.encode("Hello, world! This is a test.")
    print(encoded.tokens) # 输出: ['Hello', ',', 'world', '!', 'This', 'is', 'a', 'test', '.']
    print(encoded.ids) # 对应的词元ID

    使用预训练的LLaMA分词器(通过transformers)

    from transformers import AutoTokenizer
    tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-2-7b-hf")
    text = "The quick brown fox jumps over the lazy dog."
    tokens = tokenizer.tokenize(text)
    print(tokens) # 注意:子词切分结果,例如可能为 ['▁The', '▁quick', '▁brown', '▁fox', '▁jumps', '▁over', '▁the', '▁lazy', '▁dog', '.']

关键理解:分词器是模型与文本世界的接口。其词汇表大小(通常在3万到10多万之间)和切分策略直接影响:

  • 序列长度:词元序列长度决定计算量。

  • 模型效率:过大的词汇表增加嵌入层参数;过小则序列过长。

  • 多语言支持:基于字节的方法对多语言混合文本更友好。

  • 下游任务表现:不合理的切分可能破坏实体或语义单元。

3.3 数据影响分析

数据如何影响最终模型?这并非简单的"越多越好"。我们需要从规模、质量、多样性三个维度进行系统分析。

3.3.1 数据规模

2020年提出的缩放定律 为数据规模的影响提供了早期指导。其核心结论是:在计算预算、模型参数和数据量三个因素中,应均衡地缩放它们。具体表现为,测试损失 LL 与训练计算量 CC、模型参数量 NN、训练数据量 DD 之间存在幂律关系:

其中 Nc,Dc,αN,αD,L0Nc​,Dc​,αN​,αD​,L0​ 是拟合参数。

  1. 计算受限区域:当计算预算固定时,需要在模型大小 NN 和数据量 DD 之间做出最优分配。早期的缩放定律建议更倾向于增大模型。

  2. 数据受限区域:当数据量不足时,增加模型参数收益递减,甚至会导致过拟合。此时,获取更多高质量数据是关键。

  3. Chinchilla定律的修正 :DeepMind在2022年的研究表明,当前许多大模型是"训练不足"的。他们发现,对于给定的计算预算,最优的模型参数 NoptNopt​ 和数据量 DoptDopt​ 应满足近似比例关系:Dopt≈20×NoptDopt​≈20×Nopt​。这意味着,一个700亿参数的模型,应该使用约1.4万亿词元进行训练,而非此前许多模型使用的3000-4000亿词元。遵循此定律训练的Chinchilla模型,在相同计算成本下,性能显著超越了更大的Gopher模型。

启示 :盲目追求"万亿参数"已非最佳路径。以计算效率最优为目标,进行模型与数据的协同缩放成为新的范式。数据规模的确定,需要与模型容量和计算预算进行联合优化。

3.3.2 数据质量

"Garbage in, garbage out"在深度学习时代依然成立。低质量数据的危害远不止于浪费算力。

  1. 对模型能力的影响

    • 语言建模能力:高质量、语法规范的文本能显著提升模型的流畅度、连贯性和事实准确性。

    • 知识获取:低质量文本中充斥错误信息,会污染模型的知识库,导致"幻觉"。例如,在充斥阴谋论的文本上训练的模型,可能在其输出中反映这些错误信念。

    • 推理能力:高质量的学术论文、教科书、代码等数据中蕴含严密的逻辑结构,是培养模型逐步推理能力的关键。

  2. 对模型安全与对齐的影响

    • 偏见与毒性:互联网数据中广泛存在的社会偏见、歧视性语言和有毒内容,会被模型无差别地学习。即使后续进行安全对齐,这些潜在偏见也可能以更隐晦的方式体现。

    • 对齐难度:一个在杂乱、有害数据上预训练的模型,其初始状态可能与人类价值观相去甚远,使得后续的指令微调和基于人类反馈的强化学习(RLHF)对齐过程更加困难且不稳定。

  3. 质量评估的挑战 :数据质量的定义是主观和多维的。一个维基百科条目在事实准确性上是高质量的,但可能缺乏创意写作的"质量"。实践中,通常采用代理指标,如文本的来源(知名网站)、创作形式(书籍、论文)、与高质量参考语料的相似度(基于嵌入的检索)等。

3.3.3 数据多样性

多样性确保模型能够泛化到广泛的任务和领域,避免"盲点"。

  1. 领域多样性:涵盖科学、技术、人文、艺术、日常对话等。领域单一的模型会成为"专家"而非"通才"。

  2. 语言风格多样性:包含正式文书、口语、俚语、不同时代的文本等。这影响模型的风格适应能力。

  3. 文化与社会视角多样性:数据应尽可能代表全球不同的文化和社会群体,以减轻模型输出中的文化偏见和中心主义。

  4. 任务格式多样性:在预训练数据中自然地包含问答、列表、说明、故事等多种文本格式,能为模型提供任务理解的"上下文学习"基础。

平衡的艺术 :多样性不是简单的混合。需要警惕领域淹没 问题------某个主流领域(如网络新闻)的数据量过大,可能会压制小众但重要领域(如古典文学)的信号。实践中,常采用数据混合比例策略,有意识地提升高质量但稀缺领域的权重。例如,在LLaMA的混合数据中,给予代码和学术论文更高的采样权重。

3.4 开源数据集

研究社区构建并开源了几个极具影响力的大规模预训练数据集,它们的设计哲学和处理方法为行业树立了标杆。

3.4.1 Pile

由EleutherAI组织创建,旨在为开源大模型研究提供高质量、多样化的预训练数据。

  • 设计哲学 :强调数据源的多样性和可重复性。它由22个高质量子集组成,每个子集都有明确的来源和详细的构成说明。

  • 主要构成

    • 学术资源:PubMed Central, ArXiv, FreeLaw等。

    • 网络文本:经过过滤的Common Crawl副本(如CC-Stories)。

    • 代码:GitHub。

    • 对话:OpenWebText2, YouTube字幕。

    • 书籍:Bibliotik, BookCorpus2。

    • 专业领域:PhilPapers(哲学), USPTO(专利)等。

  • 数据处理

    • 进行了严格的文档级去重(内部及与训练评估集去重)。

    • 使用启发式规则和分类器进行质量过滤。

    • 使用ftfy库修复Unicode错误。

  • 影响:Pile是GPT-Neo、GPT-J、GPT-NeoX等一系列知名开源模型的核心训练数据,极大地推动了开源大模型生态的发展。

  • 局限:由于其明确列出了所有数据源,存在被某些下游评估基准"污染"的风险(即评估数据可能恰好来自其某个子集)。此外,部分数据源的许可协议可能对商业使用有限制。

3.4.2 ROOTS

BigScience项目为训练1760亿参数模型BLOOM而构建的多语言数据集。

  • 设计哲学大规模、多语言、负责任的。特别关注语言多样性和数据治理伦理。

  • 主要构成:涵盖46种自然语言和13种编程语言。其数据源包括:

    • 多语言网络爬虫:经过精心过滤的大规模多语言Common Crawl数据(OSCAR数据集)。

    • 特定语言语料库:如中文的Wudao, 法语的frCrawl等。

    • 学术与专业数据:多语言的arXiv论文、专利数据等。

  • 数据处理

    • 实施了严格的多语言去重和质量过滤流水线。

    • 特别重视数据记录卡,详细说明每个组成部分的来源、收集过程、预处理、伦理考量等。

    • 进行了广泛的数据偏见和风险分析。

  • 影响:ROOTS是迄今为止最大的开源多语言数据集之一,它催生的BLOOM模型证明了在多样化、负责任收集的数据上可以训练出强大的多语言模型。其开放的数据治理模式为行业提供了典范。

  • 局限:尽管涵盖46种语言,但资源丰富语言(如英语、中文)和资源稀缺语言之间的数据量差距仍然巨大。

3.4.3 RefinedWeb

由TII为训练Falcon模型系列而创建,代表了一种与Pile不同的、强调规模与效率的数据哲学。

  • 设计哲学极简主义与规模优先 。其核心假设是:一个规模足够大、经过精心去重和过滤的单一通用网络爬虫数据集,可以媲美甚至超越复杂的人工混合数据集。

  • 主要构成:基于Common Crawl,但进行了前所未有的严格处理。

    • 去重 :进行了极其严格的子字符串级去重(移除任何长度超过50个词元的重复字符串),这被证明能极大提升数据效率。

    • 过滤:结合启发式规则和多阶段分类器进行质量过滤。

    • 不作手工混合:不主动添加维基百科、书籍、代码等特定来源,认为高质量的网络数据已天然包含这些内容的形式。

  • 数据处理亮点

    • Deduplicated Text from Common Crawl:其去重技术是该数据集的核心竞争力。

    • 线性缩放验证:TII通过实验证明,在RefinedWeb上训练的模型,其性能与数据量呈光滑的幂律关系,直至5万亿词元,未出现平台期,表明数据仍未饱和。

  • 影响:RefinedWeb挑战了"需要手工策划混合数据"的传统观念。仅用RefinedWeb数据训练的Falcon-40B模型在多项基准上表现卓越,证明了超大规模、高纯度通用数据的潜力。该数据集已开源,成为业界新的重要基准数据源。

  • 局限:其"网络数据全能"的观点仍有争议,对于一些需要极高精确性和深度的专业领域,纯网络数据可能仍显不足。

3.4.4 SlimPajama

由Cerebras和Together等公司发布,是RedPajama数据集的"精炼"去重版本。

  • 设计哲学复现LLaMA数据配方的开源努力。旨在提供一个与LLaMA训练数据高度相似、完全开源且可复现的数据集。

  • 主要构成:严格遵循LLaMA论文中描述的7个数据源及其混合比例:

    1. Common Crawl (67%)

    2. C4 (15%)

    3. GitHub (4.5%)

    4. Wikipedia (4.5%)

    5. Books (4.5%)

    6. ArXiv (2.5%)

    7. StackExchange (2.0%)

  • 数据处理

    • 对每个数据源应用了与LLaMA论文描述一致的过滤和清洗方法。

    • 进行了全局精确去重模糊去重

    • 使用GPT-2分词器进行词元计数,以确保混合比例在词元级别与目标一致。

  • 影响:SlimPajama与开源的LLaMA架构代码、训练脚本一起,使完全复现LLaMA级别的模型训练成为可能,极大地降低了开源社区研究和创新的门槛。

  • 局限:作为LLaMA数据的近似复现,其创新性更多在于工程实现和开源精神,而非全新的数据设计理念。

3.5 实践思考

构建大模型预训练数据远非简单的数据爬取与清洗,而是一项融合了科学、工程与伦理的复杂系统工程。

  1. 数据作为基础设施:对于有志于训练前沿模型的企业或研究机构,必须将数据能力提升到与算法、算力同等重要的战略高度。这包括建立可扩展的数据获取管道、高效可靠的数据处理流水线、以及系统化的数据质量评估和监控体系。

  2. 评估的复杂性:如何评估一个数据集的好坏?单纯看规模或来源列表是不够的。需要:

    • 间接评估 :在固定的小规模模型架构和训练流程下,用该数据集训练模型,并在一个干净、广谱的下游任务基准(如MMLU, BIG-bench Hard)上评估,比较最终性能。

    • 直接分析:分析数据集的统计特性(词元分布、领域分布)、重复率、质量分类器得分等。

  3. 数据治理与合规 :随着监管加强(如GDPR, AI法案),数据的版权、隐私、合规性变得至关重要。未来,合法授权、透明可审计的数据来源将成为商业模型的标配。合成数据、与内容提供方的战略合作、隐私保护技术将越来越重要。

  4. 数据与架构的协同进化:新的模型能力需求驱动新的数据形态。例如:

    • 多模态模型:需要图文对、视频-文本对数据。

    • 长上下文模型:需要能处理超长文档(如整本书、长篇法律文书)的数据和训练策略。

    • 推理能力强化:需要包含逐步推理链的数据(如CoT数据集)。

  5. "数据是模型能力的上限" :一个模型最终能达到的高度,从根本上受限于其训练数据所蕴含的知识广度和深度。再精巧的架构和优化算法,也无法让模型学会数据中不存在的东西。因此,持续投资于高质量、高价值、合规数据的积累与创新,是保持大模型竞争力的核心要务。

总结:预训练数据是大语言模型的命脉。从混杂的互联网原始文本到洁净的模型"燃料",其中凝结了数据筛选、去重、安全保护等多方面的前沿技术与深刻洞见。对Pile、ROOTS、RefinedWeb等经典数据集的分析,揭示了数据规模、质量、多样性之间精妙的平衡艺术。在模型架构趋于收敛的当下,数据工程的优势正日益成为决定大模型最终性能的关键胜负手。理解并掌握数据的力量,是每一位大模型从业者的必修课。

相关推荐
暴总聊Ai21 分钟前
2025深圳冯国辉(AI创业实战教练):企业AI落地实战型AI训练讲师,助力深圳科技企业解决AI培训痛点
人工智能·科技
小毅&Nora27 分钟前
【人工智能】【深度学习】④ Stable Diffusion核心算法解析:从DDPM到文本生成图像的飞跃
人工智能·深度学习·stable diffusion
阿杰学AI28 分钟前
AI核心知识28——大语言模型之Multi-Agent Systems(简洁且通俗易懂版)
人工智能·ai·语言模型·自然语言处理·aigc·agent·多智能体系统
reddingtons28 分钟前
LrC AI 降噪:拯救“废片”级高感光,暗光人像重获新生
人工智能·新媒体运营·aigc·传媒·摄影·lightroom·后期
cui178756829 分钟前
重构消费模式:消费增值如何让 “花出去的钱” 回头找你?
大数据·人工智能·设计模式·重构·运维开发
Al leng32 分钟前
SVM求解完整推导及数学案例(含SMO与参数还原)
人工智能·机器学习·支持向量机
乱世军军33 分钟前
注意力机制 干啥用的
人工智能·深度学习·自然语言处理
子午33 分钟前
【花朵识别系统】Python+TensorFlow+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
Fnetlink135 分钟前
人工智能时代,如何打造网络安全“新范式”
人工智能·安全·web安全