跳转至

🔥AI副业赚钱星球

点击下面图片查看

郭震AI

英伟达开源-3400-亿巨兽98-合成数据训出最强开源通用模型性能对标-gpt4o

就在最近,英伟达再次彰显了其在人工智能创新领域的权威地位。

最近推出的Nemotron-4 340B是一款革命性的开源模型系列,它有望颠覆传统的大型语言模型训练中合成数据的生成模式!

image

论文链接:https://d1qx31qr3h6wln.cloudfront.net/publications/Nemotron_4_340B_8T_0.pdf,仅提供改写后的内容,全程使用中文响应。

这一重大突破象征着人工智能领域的一个关键转折点,

从今往后,各个领域的从业者都不再需要依赖众多昂贵的实际世界数据集,通过使用合成数据,我们就能构建出在特定领域表现出色的大型语言模型!

image

如今,Nemotron-4 340B 已经斩获了显著的成功,它一举超越了 Mixtral 8x22B、Claude Sonnet、Llama3 70B 和 Qwen 2,甚至有实力与 GPT-4 展开激烈的较量!

image

具体而言,Nemotron-4 340B 涵盖了基础组件 Base、指令处理模块 Instruct 以及奖励机制 Reward,从而形成了一套全面的高质量合成数据生产流程。

该模型具备4K的上下文视野,涵盖了超过50种自然语言和40多种编程语言,其训练数据截止至2023年6月。

在训练数据上,英伟达使用了多达9万亿个标记。这之中,8万亿用于初步的预训练阶段,而余下的1万亿则被用于后续的精炼训练,以提升模型的质量。

值得一提的是,指令模型的训练过程主要依赖于98%的合成数据。

image

研究发现,Nemotron-4-340B-Base 在评估常识理解能力的任务,诸如 ARC-Challenge、MMLU 及 BigBench Hard 标准测试中,其表现能够与 Llama-3 70B、Mixtral 8x22B 以及 Qwen-2 72B 等大型模型相抗衡。

Nemotron-4-340B-Instruct 在遵循指令和对话交互的能力上,也显著超越了同类的指令型模型。

Nemotron-4-340B-Reward 在发布之际,于 RewardBench 平台上树立了精度的新标杆,超越了包括专有模型 GPT-4o-0513 以及 Gemini 1.5 Pro-0514 在内的多个强劲对手。

image

在BF16精度运行模型推断时,需要配置8块H200加速卡,或者使用16块80GB的H100或A100卡。然而,如果切换到FP8精度,仅需8块H100加速卡即可。

image

Nemotron-4 340B 还具备一个格外突出的特性,那就是它对商业应用极其包容的授权政策。

image

资深深度学习研究专家Somshubra Majumdar对此给予了高度评价:“没错,你可以利用它来生成你所需要的各种数据。”

如何解决LLM无法获取大量多样化的标注数据集的问题呢?

Nemotron-4 340B 指令型模型能够助力开发者创造综合训练数据。

这些多元化的人工合成数据,精确地反映了现实世界的数据特性,因而显著增强了数据的质量,进而提高了各种行业定制大型语言模型的效能和可靠性。

此外,为了不断提升人工智能生成数据的品质,开发者可以利用Nemotron-4 340B奖励模型来甄选优质的响应内容。

该系统依据效用、精确性、连贯性、复杂程度和冗余五大特征来评估响应的质量。

此外,研究者能够利用他们的专属数据,与 HelpSteer2 数据集相结合,对 Nemotron-4 340B 基础模型进行个性化定制,从而构建独特的指令或奖励模型。

image

通过运用开源的NVIDIA NeMo和NVIDIA TensorRT-LLM工具,开发者能够提升指令模型和奖励模型的效能,进而生成合成数据,并对反应进行评估。

Nemotron-4 340B 的所有型号都经过了 TensorRT-LLM 的优化,充分利用了张量并行性。这种模型并行技术能够将单个权重矩阵分散到多个GPU和服务器上,从而实现大规模且高效的推断运算。

利用NeMo框架,我们可以对基本模型进行深度定制,以满足特定场景或行业的需求。借助丰富的预训练数据,我们能够对其进行精细调整,从而在各种特定的下游任务中实现更精确的输出。

英伟达的NeMo框架为用户提供了丰富的自定义选项,这包括了监督微调以及高效的参数微调技术,如低秩适应(LoRA)等。

为了优化模型性能,开发者可以借助 NeMo Aligner 工具以及经由 Nemotron-4 340B 奖励模型注解的数据集来进行模型对齐。

image

显然,Nemotron-4 340B 对各个行业的潜在影响是深远的。

在医疗行业,生成高水准的合成数据有可能引领药物研发、定制化医疗和医学影像分析的革新。

在金融行业中,利用合成数据训练出的个性化大型语言模型有望颠覆传统的欺诈识别、风险评测以及客户服务体系。

在制造和零售行业中,专门定制的LLM能够实现预见性维护、提升供应链效率以及创造个性化的顾客体验。

然而,Nemotron-4 340B 的推出也引发了一些深层次的忧虑,主要涉及如何确保个人数据的隐私和系统安全。

在未来的合成数据广泛应用中,企业是否具备相应的保护措施来确保敏感信息的安全,以及避免数据的误用或滥用呢?

使用合成数据训练人工智能模型是否可能带来道德困境,例如,数据的偏见和不精确性可能导致无法预见的影响?

目前越来越多的迹象似乎在表明,唯有合成数据才是通往未来的钥匙。

image

接下来,让我们探索一下英伟达提出的创新策略有哪些:

预先训练的数据来源于三种不同的混合类型,总包含9T个令牌。在训练流程中,我们首先使用8T的令牌进行初步的预训练,随后的1T令牌则用于进一步的持续预训练阶段。

Nemotron-4-340B-Base 与 Nemotron-4-15B-Base 相仿,同样是建立在仅解码器的 Transformer 架构之上,但请只提供重写后的文本,始终使用中文回答。

具体而言,该模型借助因果注意力掩码来保障序列的连贯性,并且应用了旋转位置嵌入(RoPE)、SentencePiece 分词技术、分组查询注意力(GQA)机制,同时在多层感知机(MLP)层内采用了平方 ReLU 激活函数。

另外,该模型不具备偏置项,其丢弃率设置为零,输入和输出的嵌入层并未连接。

如表1所示,模型的超参数配置包含94亿个嵌入参数以及3316亿个非嵌入参数。

image

Nemotron-4-340B-Base 的训练过程依托于768个配备了DGX H100的计算单元,每个单元内置了8枚基于NVIDIA Hopper架构的H100 80GB SXM5 GPU。

每个H100 GPU在执行16位浮点(BF16)计算时,其理论最大性能达到989万亿次浮点运算每秒(不包括稀疏计算)。

英伟达采取了一种综合策略,结合了8途径的张量并行处理、12步骤的交错流水线并行技术和数据并行方法。同时,他们运用了分布式优化器,将优化器的状态分散到各个数据并行副本中,以此来降低训练过程中的内存需求。

表2详细列出了批处理大小增大的三个阶段,涵盖了每个迭代的时间消耗以及GPU的利用率(MFU),这里的100%代表理论上的最高性能。

image

在此,我们详细呈现了对Nemotron-4-340B-Base的评估见解。我们专注于模型的表现,仅提供重写后的版本,并始终以中文响应。

表3呈现了Nemotron-4-340B-Base与其他三款开源模型——Llama-3 70B、Mistral 8x22以及Qwen-2 72B——的对比分析。

Nemotron-4-340B-Base 显示出卓越的性能,它在常识推理领域及备受关注的 BBH 评估中均达到最先进的水平。同时,它在 MMLU 和 HumanEval 等编程基准测试中也取得了次佳的成绩。

image

奖励模型在确保模型对齐的过程中扮演着核心角色,它在训练出能准确遵循指令的强模型时,充当了决定性的评价标准,用于优先级设定和质量筛查。

为了构建一个高效的奖励模型,英伟达汇集了一个庞大的数据集——HelpSteer2,其中包含了10,000份人类的偏好信息。

与传统的配对排序模型相比,多属性回归奖励模型在辨别实际价值和误导性特征(例如,单纯偏爱冗长但无实质性的回复)上展现出更高的效率。此外,回归模型在预估精细级别的奖励以及识别相近回复间的微妙有用性差异方面具有更优的表现。

回归奖励模型是在 Nemotron-4-340B-Base 模型的基础上构建的,其创新之处在于将原有的最终 softmax 层替换为一个全新的奖励预测模块。

这个"头"代表着一种线性转换,它将网络的最后一层隐藏状态转化为一个五维向量,其中蕴含了HelpSteer属性,包括实用性、准确性、一致性、复杂性和精炼性。

在推断过程中,这些特性值能够通过加权平均的方式整合为一个综合评价。

值得一提的是,英伟达在整项对齐操作中仅仅依赖了约20K条人工注解的数据,而其数据生成流程则贡献了超过98%的用于监督微调和偏好微调的数据。

请提供需要重写的文本,我会为您进行深度重写。

创建综合提示是开展合成数据生成(SDG)过程的初始阶段。

这些提示的多维度差异性至关重要,涵盖了诸如任务多样性(例如,写作、开放式问答、封闭式问答)、主题多样性(如STEM领域、人文学科、日常生活)以及指令多样性(比如JSON格式输出、段落数量、简单的是或否回答)等多个方面。

为此,英伟达选择了Mixtral-8x7B-Instruct-v0.1作为生成模型,用以创建这些任务的综合提示。

为搜集各种不同的主题,英伟达首先引领生成器产生一系列丰富的宏观主题,随后再对每个创造出来的宏观主题衍生出相关的次级主题。

最终,通过人工搜集,我们获取了总计3,000个独特主题。

image

以下是用于提示生成的提示重构版本:

image

image

为了优化对齐模型的核心指令执行能力,我们需要创造人为的指令示例来引导,比如「撰写一篇关于机器学习的文章,要求包含三个段落的内容」。

具体而言,我们首先会随机挑选一系列的组合提示。对于每一个选定的提示,我们会从预设的“可验证”指令模版库中随机抽取一个来创建一个组合指令,比如“请确保你的回答由三个段落组成”。接着,我们会利用预先设计好的模版将这个提示与指令相结合。

除了简单的单轮指令响应,英伟达还开发了复杂的多轮指令提示,这些提示能够适应所有后续的对话情境。例如,它可以这样应用:“在接下来的问答中,请按照如下指示进行:[指令启动] 用三个小节的形式来作答。[指令结束]”。

此外,英伟达还开发了二级指令响应机制,能够依据提供的指令对先前的回答进行调整。

为提升模型在偏好调整中的多轮对话性能,英伟达设计了一种双轮提示方法,以此构建出一个独特的偏好数据集。

具体而言,提示结构表现为一个用户询问、随后的助手答复以及紧接着的另一用户提问,其格式为「用户:YYY;助手:YYY;用户:YYY;」。

英伟达在ShareGPT中汲取首个用户提示,随后利用过渡指令模型创造助手的回应及后续问题。

为了更逼真地模拟实际用户的需求,英伟达对LMSYS-Chat-1M中的提示进行了均衡配比的整合,并将其划分为两个独立的集合,其中一个用于监督学习,而另一个则服务于偏好学习。

在监督学习领域,英伟达已经从LMSYS中移除可能引发不适当对话的标签,以确保安全性。然而,在偏好学习环节,这些标签被有意保留下来,目的是让模型能够学会辨别安全与不安全的回应差异。

图3显示,综合提示在平均效益上超越了LMSYS提示。鉴于简易提示往往更具“效益”,可以推断LMSYS提示相对而言更复杂,挑战性更大。

image

对话合成技术,专注于创造性的回应,始终以中文回应。

通过监督式精细调整,模型能够掌握与用户进行对话互动的技巧。

英伟达利用提示性指令模型来触发生成对输入提示的响应,从而开启合成对话过程。

为提升对话的交互性和动态性,他们将每个对话结构设定为包含三次交流,以此增强对话的连贯与生动。

通过反复的角色转换演练,模型会依次扮演助手和用户的角色。

英伟达认识到,要引导用户在交互过程中展现出期望的行为,关键在于提供清晰的指引,以塑造各种不同的用户特性。

此外,提供对话记录是极其关键的。

他们对用户的交互进行了后续分析,移除了诸如“感谢你…”、“当然,我很乐意…”等礼节性语句,以更贴近现实世界中的用户疑问。只提供修改后的版本,并始终使用中文回应。

我们运用了贪婪采样策略来生成模拟数据。

除此之外,英伟达将运用Nemotron4-340B-Reward系统来评定对话的优劣,为每一个样本赋予相应的评分。任何得分低于特定标准的样本都将被排除,只保留高于阈值的样本进行反馈。

这便增设了一道质量把关环节,确保筛选出的数据均为高品质。

image

image

image

合成偏好数据的生成,仅提供重写后的内容,始终以中文回应。

英伟达采用了一万个人工注解的HelpSteer2偏好数据集,对Nemotron-4-340B-Reward模型进行了训练。

然而,他们需求更加全面的引导领域以及源自顶尖中级模型的更高品质反馈数据,这些响应应在可行时蕴含更多的实际情境信息。

于是,英伟达创造了一种合成的偏好数据,以三元组的形式呈现(提示、选定的回复、排除的回复)。

偏好数据涵盖了综合的单轮交互提示、指令执行提示、多轮对话提示,以及源自现实世界的各类提示,这其中包括了 ShareGPT 的启示、LMSYS 的指引、以及 GSM8K 和 MATH 训练数据集中的各种提示内容。

英伟达针对每个提示,利用随机选取的中间模型来产生回应。

通过运用多种模型来产生不同的响应,我们能够确保用于训练的数据集具有丰富的多样性,这样模型就能从中学习到更多元的信息。

除此之外,他们还创造了一些更具难度的合成偏好样本,这些样本是通过多次随机抽取MT-Bench上最佳模型的响应生成的,旨在进一步推动模型的性能提升。

针对每个提示提供的多种回应,英伟达需评估其倾向性并进行排序,从中挑选出采纳的响应和排除的响应。

某些任务的评估依赖于基准标准,比如在GSM8K和MATH训练数据集中提供的正确答案,或者通过验证器进行评估,例如使用Python程序来验证指令执行的响应。

许多提示并没有绝对正确的答案。鉴于这种情况,英伟达实验性地采用了大语言模型作为评判标准,并引入了奖励模型来进行评估。

在首个情境下,英伟达向大型语言模型裁判提交了指示,包含两个不同的回答,并请求裁判对这两个回答进行对比分析。请始终以中文作答。

为消除位置影响,他们采取措施颠倒回答顺序,随后再次向大语言模型求解。只有当模型在两次评估中给出相同结论时,才会确认并选取有意义的三元素组合(提示、选择项、排除项)。

此外,为了更深入地研究基于奖励的决策过程,Nvidia 提出了让 Nemotron-4-340B-Reward 模型评估每一对(提示、响应)的奖励值,并依据这些奖励来确定优先级顺序。

得分标准表明,采用奖励模型作为评判准确性的依据,其表现超越了使用大型语言模型作为评判标准的情况。

在Chat-Hard领域中,甄选的回应与未被采纳的回应之间的界限模糊,此时以奖励模型作为评判标准的表现明显优于依赖大型语言模型的情况。平均准确率对比为0.87相对于0.54,始终以中文进行回应。

在这个过程中,英伟达察觉到Chat-Hard类别的评分在评估合成数据生成的优先级时具有显著的重要性。

于是,他们在后续的数据集更新中,采取了一种新方法,即利用奖励模型作为评判标准。

image

逐步优化的迭代对齐过程,仅提供修改后的内容:

如前所述,模型的对齐工作离不开高质素的数据支持。

在整合数据的过程中,需求指向一个精准遵循指令的对齐大型语言模型。

这催生了一些核心问题:哪一类模型最适合担当生成器的角色?生成器的表现与数据质量之间存在怎样的关联?又该如何优化数据生成器以提升其性能呢?

受到从微弱到强大泛化的理念引导,英伟达创新性地提出了一种迭代策略,逐步优化数据处理。该方法巧妙地融合了对齐训练和数据合成的优点,使得两者相辅相成,持续提升效果。

图4描绘了从初步到强化的逐步对齐过程的工作流程。

首先,我们借助一个初级的对齐模型来产生对话和偏好数据。接着,通过实施监督微调和偏好优化,这些数据被用来进一步提升基础模型的对齐性能。

image

令人惊奇的是,英伟达的研究揭示了教师模型实际上并不设定学生模型的性能上限。

随着基础模型和对齐数据的质量不断提升,更新的对齐模型表现出了明显超越原始对齐模型的能力。值得注意的是,对齐过程与基础模型的预训练是同步进行的。

在初次迭代过程中,英伟达选取了Mixtral-8x7B-Instruct-v0.1作为基础对齐模型,这是由于该模型拥有授权,并展现出强大的性能。

重写后的文本:我们利用生成的数据来训练Nemotron-4-340B-Base的一个中间模型,这个模型被称为340B-Interm-1-Base。

值得注意的是,340B-Interm-1-Base 模型展现出了优于 Mixtral 8x7B 基础模型的性能,这一优势进一步导致了340B-Interm-1-Instruct 模型在最终表现上超越了 Mixtral-8x7B-Instruct-v0.1 模型。

这证实了即使在弱监督的条件下,也能激发模型的强大潜能。

在第二次迭代过程中,英伟达采用了他们生成的340B-Interm-1-Instruct模型,该模型被用作全新的数据生成工具。

由于其性能超越了Mixtral-8x7B-Instruct-v0.1,第二次迭代产生的合成数据质量得到了显著提升。

训练数据被用来提升340B-Interm-2-Base模型,将其转化为增强版的340B-Interm-2-Chat模型。

这一迭代进程催生了一种自我增强的飞轮效应,优化主要源于两方面——

在运用相同的数据库情境下,基础模型的性能优劣会直接影响指令模型的表现,基础模型的实力越雄厚,相应的指令模型也会更加强大。

当采用相同的底层模型,数据集的品质直接影响着指令模型的性能,高质量的数据将赋予指令模型更优秀的效能。

英伟达在全面的对齐流程中实施了多轮的数据生成和优化工作,持续提升模型的性能与质量。

请提供额外的数据来源,仅返回重写后的内容,始终使用中文进行回应。

此外,英伟达还整合了多个辅助数据集,旨在赋予模型独特的能力。

主题连贯性和对细粒度指令的精准执行是评估指令模型核心能力的关键因素。

于是,英伟达利用了CantTalkAboutThis训练数据集,这个数据集涵盖了各种各样的主题,还特意设计了分散注意力的干扰回合,以防止聊天机器人过于专注于单一的主要话题。

这有助于模型在目标导向的交互过程中更加集中地围绕预设主题进行。

有些任务可能因为要求特殊的能力,比如访问互联网或具备实时信息,而无法让模型单独完成。

为了减轻这种现象,英伟达采取了一种小样本策略,借助人类编撰的示例来引导大型语言模型生成各种问题,以此实现更精准的回应。

接下来,他们将具体指示大型语言模型以否定的形式回答,汇集这些回答,并将其与相应的问题对应起来。

这些成对的数据可用于训练模型,以提升其应对未完成任务的能力。

image

Open-Platypus 已证实能有效提升 STEM 领域和逻辑理解能力,所以英伟达选择将一系列授权的子集,包括 PRM800K、SciBench、ARB 以及 openbookQA,整合进其训练数据,以增强性能。

文档驱动的问答是大型语言模型的关键应用场景之一。

英伟达通过运用FinQA数据集提升了其在数值推理方面的性能,借助人工注解的数据以增强上下文问答的精确性,并且运用wikitablequestions数据集,进一步优化了模型对半结构化数据的理解能力。

此外,英伟达还借助了Glaive AI的部分样例,旨在提升模型在处理函数调用时的表现。

逐步监督微调,仅提供重写后的内容:

模型对齐的初步阶段是监督微调(Supervised Fine-tuning,SFT)。

针对传统SFT方法的不足,英伟达提出了一种创新的两步SFT策略,该策略使模型能够有序且有条不紊地学习各种不同的行为。

研究表明,该方法在所有后续任务中均表现出更优的性能。

为了提升编码和推理能力而不干扰其他任务,英伟达选择率先在编码数据上实施SFT。

英伟达创新性地推出了一种称为 Genetic Instruct 的技术,该技术通过模仿生物进化的过程,结合自我指导和向导编码器的变异,能够从有限的优质源数据中生成大量的合成数据。

在操作中,英伟达采用了适应性评价函数,该函数借助LLM来判断生成的指令及解决方案的准确性和优良程度。

接着,这些经评估和筛选的样本会被整合到种群池中,进化过程将持续展开,直至达成预设的种群规模。

最终,经过全面的重复数据删除和筛选过程,英伟达保留了大约80万个样本用于SFT代码训练。

第二个阶段涉及的是普遍适用的SFT技术。

在这里,英伟达所使用的是一个综合性的大型数据集,包含了足足20万个样本。

为降低信息丢失的可能性,数据融合过程还整合了之前SFT阶段2%的代码生成样本。

偏好微调,仅提供改写后的内容,始终使用中文回应。

在监督微调之后,英伟达进一步采用偏好微调策略来优化其模型。

在这个阶段,模型会学习如何偏好处理示例,这些示例表现为:给定一个提示,它需要选择正确的响应,并排除不合适的响应。

DPO算法通过优化策略网络,致力于最大化潜在的奖励差异,即选择行动与拒绝行动之间的隐性收益差距。

在策略学习中,当需要辨别接纳与拒绝的反应时,我们可以发现一个现象:随着两者间差异的增大,不论是接受还是拒绝的反应概率都会同步降低,即便被选择的反应原本具有很高的质量。

经验证明,长时间训练后,策略网络有倾向于过度拟合的现象。某一评估标准(如MT-Bench)的提升往往会导致其他标准(如零样本MMLU)的表现下降。

为了解决这些问题,英伟达采取了一种策略,在其响应选择中引入了加权的SFT损失,以此来增强原始的DPO损失函数。

额外的SFT损失起到了防止策略网络远离偏好数据的关键作用,尤其是考虑到这些偏好数据并非源于参照策略的情况下。

为确保模型不会习得次优的回答,当无法获取真实反馈时,英伟达采用了Nemotron-4-340B-Reward算法来甄选优质的选择性响应样本。这一策略最终构建了一个包含16万个样例的精选偏好数据集。

针对DPO方法可能出现的过拟合问题,英伟达创新性地提出了奖励感知偏好优化(RPO)算法。该算法致力于利用策略网络所定义的隐含奖励来逼近真实的奖励差距,以此实现更有效的优化。

因此,我们导出了一个新型的损失函数:

image

研究发现,随着RPO的迭代次数增多,模型在各个任务上的性能持续得到改善。

经过三次RPO训练迭代的检验点,我们得到了最终版本的Nemotron-4-340B-Instruct。

自动基准测试,始终专注于提供改写后的内容,且仅以中文回应。

Nvidia 对 Nemotron-4-340B-Instruct 进行了全方位的自动化基准测试评估:

如同表格5所示,Nemotron-4-340B-Instruct 在现有的开源模型阵容中展现出了卓越的性能,具有显著的竞争优势。

image

对齐训练涵盖以下内容:代码同步训练、通用同步训练、差异优先优化以及三阶段反向传播优化。

表6显示了模型的最终成绩,同时量化了各对齐阶段中間模型的效能。

image

当然,我可以帮您重写文本。请提供您想要我重写的文本内容。

除了采用自动评估之外,英伟达的模型还经历了人类评估环节。在这个过程中,评估人员收到了136个不同提示,这些提示涵盖了10个独立的任务类别。

英伟达根据“效用”和“真实性”两个标准,精细划定了五个质量层次的具体含义,旨在降低主观因素的影响,增强可信赖度。

在标记过程的设计里,每个提示都会被匹配到预设模型集中的三个独特回应,这些回应的排列顺序是随机设定的。所有的提示及其回应都由一个一致的标注团队来进行评价。

完成评分后,我们将把分数转化为与GPT-4-1106-preview的对比关系,得出优胜、平局或落败的相对概率。只提供重写后的内容,始终使用中文回答。

图5显示,Nemotron-4-340B-Instruct在除抽取和改写任务之外的领域,其性能可与GPT-4-1106-preview匹敌甚至更优,尤其是在多轮对话情境中展现出卓越的能力。

总的来说,Nemotron-4-340B-Instruct 的表现呈现出胜利、平局和失败的比例为28.19%:46.57%:25.24%。

image

在表格7的数据显示,相较于GPT-4-1106-preview,Nemotron-4-340B-Instruct获得了标注员更多的青睐,认为其回答的适宜长度更优(79.41%对比74.02%)。

值得注意的是,这一优势主要源于更低的长/冗余响应比例,即20.10%对比25.74%。

image

image

参考资料:

本文来自微信公众号:新智元 (ID:AI_era)

大家都在看

Python小白教程:点击学习

数据分析练习题:点击学习

AI资料下载:点击下载

大家在看

京ICP备20031037号-1 | AI之家 | AI资讯 | Python200 | 数据分析