• [其他] 系统优化的关键:降低精度与算子融合
    系统优化的关键:降低精度与算子融合在大规模机器学习模型的训练和推理过程中,系统优化是提升效率、降低成本的重要手段。其中,低精度计算和算子融合是两项具有重大实践价值的技术,它们通过减少计算复杂度和内存开销,显著提升了系统性能。1. 低精度计算:平衡效率与准确性低精度计算的核心思想是通过降低数值表示的精度来加速计算并减少内存占用。传统的深度学习模型通常使用32位浮点数(FP32)进行计算,但这种高精度表示会带来较大的计算和存储开销。16位浮点数(FP16)是一种常用的低精度格式。通过将矩阵运算从FP32降至FP16,可以显著提升计算速度并降低内存占用。这是因为FP16所需的内存带宽和计算资源更少,同时现代硬件(如GPU)对FP16的支持也更加高效。然而,低精度计算也面临一个关键挑战:数值精度不足可能导致模型训练不稳定或精度损失。为了解决这个问题,研究人员采用了一种精妙的策略:混合精度训练。在这种方法中,计算过程使用FP16,但模型权重和梯度更新仍保持在FP32。这样既利用了FP16的计算效率,又通过FP32确保了权重更新的准确性,从而在保证模型质量的同时大幅提升了训练效率。2. 算子融合:减少内存访问开销在深度学习模型的传统实现中,每个操作(如矩阵乘法、激活函数等)都需要与GPU内存进行数据交互。这种频繁的数据移动会显著增加内存带宽的压力,成为性能瓶颈。算子融合技术通过将多个操作合并处理,减少了内存访问次数,从而提升了计算效率。例如,在一个典型的神经网络层中,矩阵乘法和激活函数通常是分开执行的,这意味着需要将中间结果从GPU内存中读取和写入多次。通过将这两个操作融合为一个单一的内核函数,可以避免中间结果的频繁读写,显著减少内存带宽的占用。算子融合不仅减少了内存访问开销,还优化了计算资源的利用率。现代GPU的并行计算能力非常强大,但频繁的内存访问会限制其性能发挥。通过融合操作,可以更好地利用GPU的计算单元,提升整体吞吐量。
  • [其他] 大语言模型的缩放法则:计算资源分配的科学
    大语言模型的缩放法则:计算资源分配的科学在大语言模型(LLM)的研究中,一个重要的发现是:模型性能的提升遵循可预测的缩放法则。这一规律不仅为理论研究提供了新的视角,也为工程实践中的资源分配提供了科学依据。1. 缩放法则的核心规律缩放法则的核心在于,模型性能的提升与计算资源、模型参数量和训练数据量之间呈现出对数线性关系。具体来说,当增加计算资源时,模型性能的提升并不是线性的,而是以对数形式增长。这意味着,随着资源投入的增加,性能提升的幅度会逐渐减小。2. 最优训练配置的发现通过大量实验,研究人员确定了最优的训练配置:每个模型参数大约需要对应20个训练token。这一比例意味着,模型参数的数量和训练数据的规模需要保持一定的平衡,才能达到最佳的训练效果。然而,当考虑到推理阶段的计算成本时,这个比例可能会提高到1:150。3. 缩放法则的实践意义缩放法则的发现具有重要的实践意义,因为它让我们能够科学地规划资源分配。具体来说,缩放法则为工程实践提供了以下指导:资源分配的优化:在有限的计算资源下,如何分配资源(如计算能力、模型参数、训练数据)以达到最佳性能,是一个关键问题。缩放法则为这一问题提供了科学依据,帮助团队做出最优的架构选择。性能预测:通过缩放法则,研究人员可以预测模型在增加资源后的性能提升,从而更好地规划实验和项目。成本效益分析:缩放法则还可以用于分析不同资源配置的成本效益。例如,在推理阶段,减少模型参数的数量可能会显著降低计算成本,而性能的损失可以通过增加训练数据的规模来弥补。4. 缩放法则的挑战与未来方向尽管缩放法则为LLM的研究和实践提供了重要指导,但它也面临一些挑战。例如,缩放法则的适用性可能受到模型架构、训练任务和数据质量等因素的影响。此外,随着模型规模的进一步扩大,缩放法则是否仍然适用,也是一个需要进一步研究的问题。未来,研究人员可能会探索更复杂的缩放法则,以更好地描述模型性能与资源投入之间的关系。同时,如何在实际应用中更有效地利用缩放法则,也是一个重要的研究方向。
  • [其他] 后训练优化的双重范式:SFT和RLHF
    后训练优化的双重范式:SFT和RLHF在预训练模型的基础上,将其转化为实用的AI助手,需要经过两个关键的优化阶段:监督微调(SFT)和基于人类反馈的强化学习(RLHF)。这两个阶段各有侧重,共同作用,使模型能够生成更符合人类预期的回答。1. 监督微调(SFT):教会模型“如何回答”监督微调是后训练优化的第一阶段。这一阶段的目的是教会模型如何以特定的方式回答问题,而不是学习新知识。预训练模型已经通过海量数据获取了广泛的知识,SFT更像是为模型提供一种“表达方式”的指导。一个令人惊讶的发现是,SFT阶段只需要2000-5000条高质量的人工标注数据就能取得显著效果。这是因为模型在预训练阶段已经掌握了大量的知识,SFT的主要任务是调整模型的输出风格和格式,使其更符合人类的需求。例如,教会模型如何生成简洁、清晰、符合语境的回答,而不是冗长或模糊的表述。SFT的关键在于数据的质量而非数量。高质量的人工标注数据能够有效引导模型,使其在特定任务上表现更好。这一阶段的优化为后续的RLHF奠定了基础。2. 基于人类反馈的强化学习(RLHF):让模型更符合人类偏好RLHF是后训练优化的第二阶段,也是使模型生成更符合人类预期回答的关键步骤。RLHF的核心思想是通过人类反馈来优化模型的行为,使其输出更符合人类的偏好。RLHF的过程可以分为三个主要步骤:收集人类偏好数据:首先,需要收集人类对模型不同输出的偏好数据。例如,给定一个问题,模型生成多个回答,人类标注者会根据回答的质量进行排序或打分。这些数据用于训练一个奖励模型。训练奖励模型:奖励模型的目标是量化模型输出的质量。通过人类偏好数据,奖励模型学习如何评估模型回答的好坏。例如,简洁、准确、符合语境的回答会获得更高的奖励分数。优化模型行为:最后,使用强化学习算法(如PPO或DPO)来优化模型的行为。模型会根据奖励模型的反馈,调整其参数,以生成更符合人类偏好的回答。3. DPO算法:简化RLHF实现传统的RLHF方法(如PPO)实现复杂度较高,需要大量的计算资源和工程优化。然而,直接偏好优化(DPO)算法的提出极大简化了这一过程。DPO通过直接优化模型输出与人类偏好之间的对齐,避免了复杂的奖励模型训练和强化学习循环。这使得开源社区也能够实现高质量的模型对齐,推动了AI技术的普及和应用。4. 总结SFT和RLHF是后训练优化的双重范式,共同作用将预训练模型转化为实用的AI助手。SFT通过少量高质量数据教会模型“如何回答”,而RLHF通过人类反馈使模型生成更符合人类偏好的回答。DPO算法的提出进一步简化了RLHF的实现,降低了技术门槛。这两个阶段的优化,使得像ChatGPT这样的对话模型能够生成高质量、符合人类预期的回答,推动了AI技术的广泛应用。通过SFT和RLHF的结合,AI模型不仅能够掌握知识,还能够以更自然、更符合人类习惯的方式与用户交互。这种双重优化范式为AI助手的未来发展提供了坚实的基础。附:文中简写的全称如下:SFT:Supervised Fine-Tuning(监督微调)RLHF:Reinforcement Learning from Human Feedback(基于人类反馈的强化学习)PPO:Proximal Policy Optimization(近端策略优化)DPO:Direct Preference Optimization(直接偏好优化)
  • [其他] 数据预处理流水线的挑战:从原始网络数据到高质量训练语料
    数据预处理流水线的挑战:从原始网络数据到高质量训练语料在当今的大数据时代,互联网已成为获取信息的主要来源。然而,将海量的原始网络数据转化为高质量的训练语料,却是一个极其复杂且充满挑战的过程。当前的互联网包含约2500亿个网页,总计接近1PB的数据。这些数据不仅规模庞大,而且形式多样、质量参差不齐。因此,构建一个高效的数据预处理流水线,是确保最终训练语料质量的关键。1. 数据提取:从HTML到有意义的文本数据预处理的第一步是从原始网页中提取有意义的文本内容。虽然HTML是网页的基础结构,但其中包含了大量的噪音,如广告、导航栏、脚本代码等。准确提取有用的文本内容,需要专门的工具和算法。例如,使用BeautifulSoup或Scrapy等库可以有效地解析HTML并提取文本。然而,即使是这些工具,在面对复杂的网页结构时也可能遇到困难。特别是对于包含数学公式、代码片段或多媒体内容的网页,需要开发专门的解析方案,以确保这些内容的准确提取和保留。2. 数据净化:过滤不良内容和敏感信息提取出的文本内容往往包含大量的噪音和不良信息,如广告、垃圾邮件、恶意软件等。因此,数据净化的第一步是过滤这些不良内容。此外,还需要去除个人敏感信息,如姓名、地址、电话号码等,以保护用户隐私。这一过程通常需要结合规则过滤和机器学习模型,以确保高效且准确地识别和去除不良内容。3. 数据去重:识别和去除重复内容互联网上的信息重复现象非常普遍,同一个内容可能出现在多个不同的网页上。因此,数据去重是数据预处理流水线中的一个关键步骤。去重不仅需要处理完全相同的文本内容,还需要识别不同URL下实质相同的内容。例如,同一篇新闻文章可能被多个网站转载,虽然URL不同,但内容几乎完全一致。去重算法通常基于文本的哈希值或语义相似度,通过比较文本的特征向量来识别重复内容。4. 质量评估:筛选高质量的训练语料在数据净化和去重之后,还需要对剩余的内容进行质量评估,以筛选出高质量的训练语料。质量评估通常基于一系列启发式规则和机器学习模型。例如,可以通过文本的长度、语法正确性、信息密度等特征来评估内容的质量。此外,还可以使用预训练的语言模型对文本进行打分,以进一步筛选出高质量的内容。最终,只有经过层层筛选的极小部分数据才会被用于训练。5. 工程处理与持续优化数据预处理流水线的每一个环节都需要细致的工程处理和持续的优化改进。例如,在数据提取阶段,可能需要针对不同类型的网页开发不同的解析器;在数据净化阶段,可能需要不断更新过滤规则和模型,以应对新出现的不良内容;在数据去重阶段,可能需要优化算法,以提高去重的准确性和效率;在质量评估阶段,可能需要不断调整评估标准,以适应不同的训练需求。6. 总结从原始网络数据到高质量训练语料的转化过程,是一个复杂且充满挑战的任务。数据预处理流水线的每一个环节都需要细致的工程处理和持续的优化改进。只有通过高效的预处理流水线,才能从海量的网络数据中筛选出高质量的训练语料,为后续的模型训练提供坚实的基础。这一过程不仅需要强大的技术支持,还需要不断的实践和优化,以应对互联网数据的多样性和复杂性。
  • [其他] 观点分享:数据、评估和系统工程的重要性
    真正重要的是数据、评估和系统工程,而不是模型架构。这个观点强调了在AI开发中,数据、评估和系统工程的重要性,超越了对模型架构的过度关注。数据质量至关重要:无论模型架构如何先进,低质量的数据都会导致不良的结果。数据的清洁、完整性和无偏性是模型性能的基础。在实际应用中,数据处理和管理可能占据项目大量时间,影响最终效果。评估方法的现实意义:学术界常依赖标准基准测试,但这些测试可能与实际应用场景脱节。有效的评估应反映真实世界的使用情况,确保模型在实际中表现良好。系统工程的不可或缺性:涵盖模型部署、集成、可扩展性和性能优化等方面,确保模型在实际环境中有效运行。在工业应用中,系统工程的挑战可能超过模型选择本身。资源分配的再思考:传统上,学术研究可能过度关注模型架构的创新,而忽视数据和系统工程。更合理的资源分配应平衡这些关键领域,以提升整体性能。模型架构的角色:模型架构仍重要,定义了模型的能力和学习效率,但不应成为唯一的关注点。某些架构可能更适应特定数据或任务,需综合考虑。行业与学术的差异:工业界更注重数据和系统工程,而学术界可能更追求模型创新。二者应互补,推动AI技术的全面进步。** reproducibility 危机的反思**:数据处理、评估方法和系统配置的差异可能导致研究结果难以复现。强调这些方面有助于提高研究的可靠性和可重复性。教育和职业发展的调整:AI教育应增加数据管理、评估技术和系统工程的培训,以培养全面的AI专业人才。数据作为竞争优势:在许多实际应用中,数据是企业的核心竞争力,高质量的数据管理能带来显著优势。综上所述,该观点倡导一种更为全面的AI开发方法,强调数据、评估和系统工程的协同作用,以实现更强大、可靠和实用的AI系统。这种视角提醒我们,在追求模型创新的同时,不应忽视其他关键环节的优化。
  • [体验官] 与PaaS产品一起成长的故事:Z市台风预测模型实战分析——模型的云能力PAAS中心能力如何构建
    上回我们谈到AI模型的两大基石之一,云能力,而云能力分为边缘计算能力和PAAS层中心能力。在咨询项目中,如何构建PAAS层中心能力。从当时地质业务需求来看,中心层能力是大模型计算的核心能力,依赖机房的计算存储平台,大模型可以按需运算并预测结果。    由于部署了台风预测模型,业务侧需要分钟级输出未来30天的预测结果,每分钟计算资源要非常充足。因此,给每个因子每个场景配置了4VPU,128flop/VCPU;由于地质勘查图片量非常大,要一分钟内分析上千份图片,因此计算速度用最快的NPU,9XX型号的算力卡,20张/秒的分析速度,1200张/分钟。有了超级快的计算能力外,还要有海量的存储单元,分为块存储、文件存储和缓存三种类型。其中块存储的空间需求最多,因为它非常灵活,可以存放多种格式的数据;按10M/图片来计算,块存储空间预留500T空间,存储15年的图片数据。     硬件平台讲了这么多,其实都是为PAAS层能力服务。为了让业务侧具备自主编程和调试台风预测模型的能力,PAAS层配备了微服务流水线的能力,codearts, 微服务架构。这也是因为地质行业数据是保密数据,不允许外发到专有云外,因此必须在本地训练。同时业务场景层出不穷,目前只是梳理了5种场景:全球场景、局部场景、自然灾害场景、山体滑坡场景和泥石流场景。未来模型应用的场景会逐步增多,新场景除了模型泛化能力支持外,还要进行算法调优或RAG等技术辅助。欢迎点赞和关注公众号“科技江河”,如果喜欢,在公众号打赏下呗,感谢华为云App
  • [其他] Scaling Law经验法则
    Scaling Law(扩展定律或尺度定律)在机器学习和人工智能领域,特别是在大型语言模型(LLMs)的研究中,是用来描述模型性能如何随着模型规模(如参数数量)、训练数据量和计算资源的增加而提升的一组经验法则。具体来说,Scaling Law涉及以下几个方面:模型性能与资源规模的关系:Scaling Law表明,模型的性能与计算量、模型参数量和数据大小之间存在幂律关系。这意味着,当不受其他因素制约时,增加这些资源可以显著提升模型的性能。经验法则:Scaling Law是一种经验法则,它基于大量的实验数据和观察,提供了在不同规模下预测系统性能变化的规律。训练与推理的扩展定律:传统的Scaling Law主要关注模型训练过程,即训练数据越多、算力越强、模型参数越大,最终的模型性能就越好。而推理扩展定律(Inference Scaling Law)则指出,通过增加推理时间和计算资源,可以显著改善模型输出的质量。成本-性能权衡:在给定相同的计算预算下,较小的模型可以胜过较大的模型,并且较小的模型与高级推理算法配对可以产生Pareto最优的成本-性能权衡。模型结构与性能:Scaling Law还表明,模型的最终性能主要与计算量、模型参数量和数据大小三者相关,而与模型的具体结构(如层数、深度、宽度)基本无关。资源扩展的比例关系:在计算预算增加了10倍的情况下,如果想保持效果,模型的大小应增加5.5倍,而训练token的数量仅需增加1.8倍。综上所述,Scaling Law为我们提供了一个框架,用以理解和预测在机器学习模型中,如何通过增加模型规模、数据量和计算资源来提升模型性能。这对于设计和训练大型语言模型尤其重要,因为它可以帮助研究者和工程师更有效地分配资源,以达到最佳的性能提升效果。
  • [其他] AGI和AIGC的区别
    AGI(Artificial General Intelligence,通用人工智能)和AIGC(Artificial Intelligence Generated Content,人工智能生成内容)是两个不同的概念,它们在人工智能领域中有着各自的定义和应用。AGI(通用人工智能)AGI指的是一种具有与人类相当或更高的认知能力的智能系统,能够理解、学习、计划和解决问题。 AGI的目标是实现类似于人类的广泛智能,使其能够在各种不同领域和任务中表现出色。 这种智能系统不仅能够学习和适应新的任务,还能够像人类一样进行推理、解决问题和创造新的想法。 AGI是人工智能研究的最终目标之一,也是科幻小说和未来研究的一个共同主题。AIGC(人工智能生成内容)AIG指的是利用AI技术,尤其是机器学习和深度学习模型,自动生成内容,如文本、图像、音乐或视频。 AIGC通常专注于特定的创作任务,而不具备AGI的广泛智能和通用学习能力。 它通过从大量数据中学习,模仿人类行为,生成各种新的内容,包括文字、图像、音视频、游戏、代码等多种内容形态。 AIGC的高速发展减少了人类创作内容的时间和成本,也降低了内容创作门槛,激发了全民的使用热情。共同点AGI和AIGC都属于人工智能的范畴,但它们的侧重点、技术和应用领域有很大的区别。AGI的核心在于其通用性和自我学习的能力,而AIGC则更多地体现AI在特定任务上的生成能力。 两者的共同发展,合力推动着人工智能产业实现更大程度的成长。
  • [其他] MATH-500和HumanEval测试介绍
    MATH-500MATH-500是一个专门用于评估数学问题解决能力的评测集,它包含500个测试样本,覆盖了广泛的数学领域,包括代数、几何、数论等多个数学主题。这个数据集的构建旨在为数学问题的自动解答提供一个标准化的测试平台,通过从原始MATH基准中筛选出具有代表性的问题,确保数据集的多样性和挑战性。MATH-500的主要特点在于其专注于数学问题的生成与解答,每个问题都经过精心挑选,以确保其复杂性和实际应用价值。数据集中的问题语言为英语,适合于全球范围内的研究和应用。MATH-500数据集适用于文本生成任务,特别是数学问题的自动解答。研究者和开发者可以利用该数据集训练和评估模型在数学问题生成和解答方面的性能。在MATH-500评测集中,模型的表现可以通过分析其在数据集上的表现来深入理解其在处理复杂数学问题时的优势与不足,从而推动相关领域的技术进步。HumanEval 测试介绍HumanEval是由OpenAI编写发布的代码生成评测数据集,它包含了164个人工编写的Python编程问题。这个数据集用于评估大语言模型生成代码的能力,特别是模型在解决实际编程问题时的性能。HumanEval要求模型针对每个单元测试问题生成k个代码样本(k可以是1, 10, 100等),然后评估这些样本中至少有一个能够通过测试的概率。这个测试集不仅考察模型的代码生成能力,还考察其逻辑推理能力,是一个挑战性的任务集,用于测试模型在真实世界适用性方面的表现。HumanEval的评估原理包括执行代码并验证结果、多线程并行评估以及计算pass@k指标,其中pass@k衡量模型在不同k值下的平均表现。
  • [其他] MoE LLM介绍
    MoE LLM(Mixture of Experts Large Language Model)模型是一种先进的神经网络架构,它通过动态选择专门的子模型或“专家”来处理输入的不同部分,以提高模型的效率和可扩展性。以下是MoE LLM模型的一些关键点:MoE的定义及核心概念:MoE,即混合专家模型,是一种利用多个不同的子模型(或称为“专家”)来提升大型语言模型(LLM)质量的技术。它的核心思想是将复杂的任务分解为更小、更易于管理的子任务,每个子任务都由专门的迷你模型处理。MoE的主要组成部分:专家(Experts):这些是专门针对特定任务的子模型。例如,在图像分类任务中,一个专家可能专门识别纹理,而另一个专家可能识别边缘或形状。门控网络(Gating Network):门控网络是一个选择器,它决定将哪些输入数据发送给哪些专家。它类似于一个路由器,为每个输入选择最佳的一个或两个专家。稀疏激活(Sparse Activation):只有少数专家针对每个输入被激活的方法,优化了计算效率。MoE的优势:提升模型效率:通过专家分工和动态选择机制,MoE能够显著降低计算成本和推理时间。增强模型性能:每个专家模型都专注于处理特定类型的输入数据,从而提高了模型的表征能力和泛化能力。适应多模态数据:MoE模型可以自然地处理多模态数据,每个专家模型可以学习处理特定的模态信息。MoE的应用:MoE已经被广泛应用于各种大模型LLM中,如GPT-4、Gemini 1.5等。它们通过引入MoE架构,不仅提升了模型的性能,还降低了训练难度和推理成本。MoE不仅限于NLP领域,它也被应用于计算机视觉和多模态应用中,如谷歌的V-MoE架构。MoE的挑战与机遇:尽管MoE在训练复杂性和通信成本方面存在挑战,但它在可扩展性、灵活性和效率方面的优势使其成为现代AI应用中越来越受欢迎的选择。MoE LLM模型通过这种分工合作的方式,使得大型语言模型能够更高效地处理复杂的任务,同时保持较低的计算成本,这在处理大规模数据集和复杂任务时尤为重要。
  • [其他] 神经网络学习的目标是什么?
     举例来说,以手写数字识别为例,  输入层是28*28的图片,展开是784个像素,每个像素的灰度值,即是输入层的神经元。 假设中间选择了两个隐藏层,每层有16个神经元,  网络大约有13,000个权重和偏置可以调整,正是这些值决定了网络实际上做了什么。  换句话说,神经网络,要学习到的目标就是这13,002个权重和偏置。 (解释:因为网络层的每个神经元,都是和前一层的每个神经元连接的,所以权重是 784*16+...。简单的看,可以将weights理解为连线,biases理解为倾向性) 图片来源:Gradient descent, how neural networks learn | DL2  (3Blue1Brown)
  • [AI Gallery] 编写PyTorch-Ascend的dockerfile时需要注意哪些事项
    我想使用Ascend资源搭建一个支持 PyTorch-Ascend 的Notebook环境,将 A800上训练的模型直接部署在昇腾计算卡上,期望在 Ubuntu 20.04 LTS上 使用 PyTorch 2.4.0 + CANN >= 8.0.RC3 (参考昇腾辅助软件)。目前现有的公有云镜像中CANN的版本为 8.0.RC2,不太能满足我的需求。我在阅读 在Notebook中通过Dockerfile从0制作自定义镜像 和 从0制作自定义镜像用于创建训练作业(Pytorch+Ascend) 、编写Dockerfile时遇到以下问题:我没有获得 CANN商业版 的资格,无法下载,能直接使用 CANN 社区版吗?是否需要安装NPU驱动?如何确保在使用自定义镜像时能正确识别到Ascend资源?以及想请问是否有相关的帖子或开源dockerfile可供参考?
  • [其他] Stochastic Gradient Descent介绍
    Stochastic Gradient Descent (SGD) 是一种用于优化具有适当平滑性质(例如可微或次可微)的目标函数的迭代方法。它被视为梯度下降优化的随机近似,因为它用从整个数据集中计算出的真实梯度的估计值(从数据的随机选择子集计算得出)替换了实际梯度。特别是在高维优化问题中,这减少了非常高的计算负担,以较低的收敛速度换取更快的迭代。SGD 的基本思想可以追溯到20世纪50年代的Robbins-Monro算法。如今,SGD已成为机器学习中重要的优化方法。SGD 考虑的问题是最小化具有求和形式的目标函数。在经典统计学中,求和最小化问题出现在最小二乘法和最大似然估计(针对独立观测)中。作为求和最小化器出现的一般估计器类别被称为M-估计器。然而,在统计学中,人们早已认识到,对于一些最大似然估计问题,要求即使是局部最小化也过于严格。因此,当代统计理论家经常考虑似然函数的稳定点(或其导数,得分函数,以及其他估计方程的零点)。SGD 是训练各种机器学习模型的流行算法,包括(线性)支持向量机、逻辑回归和图形模型。当与反向传播算法结合时,它成为训练人工神经网络的事实上的标准算法。SGD 与 L-BFGS算法竞争,后者也被广泛使用。SGD 自20世纪60年代以来一直用于训练线性回归模型,最初名为ADALINE。SGD的另一个算法是最小均方(LMS)自适应滤波器。SGD 有许多改进和变体。特别是,在机器学习中,设置学习率(步长)被认为是有问题的。设置这个参数太高可能导致算法发散;设置太低则使算法收敛缓慢。
  • [其他] 梯度下降方法可视化:Gradient Descent Visualization
    这个项目名为 "Gradient Descent Visualization",是一个桌面应用程序,旨在可视化展示机器学习中几种流行的梯度下降方法。这些方法包括普通的梯度下降(vanilla gradient descent)、动量(momentum)、AdaGrad、RMSProp 和 Adam。项目的目标是让无论是初学者还是专家,都可以通过调整不同的设置,直观地理解这些方法的工作原理。特点:多种曲面选择:用户可以选择不同的曲面进行可视化,例如,通过屏幕录像可以看到 Adam 和 RMSProp 在处理鞍点时比简单的梯度下降或动量方法表现得更好。参数调整:用户可以调整参数,比如学习率等,来观察不同参数设置对梯度下降方法的影响。逐步动画:提供了一个逐步动画,用于可视化每种方法的计算过程,例如动量下降的内部工作机制。视觉元素追踪:使用视觉元素来追踪梯度、动量、梯度平方和(通过大小与项的大小相对应的正方形来可视化)、调整后的梯度(根据方法不同,可能是除以梯度平方和或加上动量)以及路径。路径绘制:可以看到不同方法如何以不同的方式达到目的地。构建:这个应用程序是用 C++ 编写的,使用 Qt 框架,并且是跨平台的。提供了 MacOS 和 Windows 的预构建应用程序下载链接,也可以从源代码构建,需要下载并安装 Qt 5.10 或更高版本,并确保安装了 Qt Data Visualization 包。代码结构:窗口类:负责 UI 布局,包括所有侧边栏上的控件(如自旋框、输入文本框等)。绘图区域类:负责绘图区域内的动作,包括响应用户输入的方法。动画类:控制动画逻辑,每种下降方法都有自己的派生动画类,负责创建和销毁动画对象以及它们的位置和属性。项目类及其派生类:继承自 QtCustom3DItem,实现自定义项目,如箭头、正方形、路径等。梯度下降类及其派生类:是每种下降方法的数学实现。地址是:https://github.com/lilipads/gradient_descent_viz建议访问国内地址:https://gitee.com/lu_xiang_jiang/gradient_descent_viz/
  • StoryDiffusion漫画创作节活动分享-VOD/创意
    角色描述:A time-traveling historian: A bespectacled man in a vintage suit, holding an antique pocket watch and a map of the historical sites.A mischievous time-traveling cat: A cat wearing a tiny pilot's cap and goggles, perched on the historian's shoulder, with a playful expression.中文翻译:时空旅行的历史学家:一个戴着眼镜、穿着复古西装的男士,手持一只古董怀表和一张历史遗址地图。淘气的时空旅行猫:一只戴着小飞行员帽和护目镜的猫,蹲在历史学家的肩膀上,表情顽皮。漫画描述:Frame 1: The historian stands in front of a grand library, the time-traveling cat on his shoulder, as they prepare for their journey. Frame 2: With a twist of the pocket watch, they vanish in a burst of light, transported back in time. Frame 3: They arrive in ancient Egypt, the historian taking notes while the cat explores the pyramids. Frame 4: The historian chases after the cat as it darts towards a group of sphinxes, causing a minor commotion. Frame 5: They find themselves in medieval Europe, the cat playfully ringing a town bell, attracting the attention of villagers. Frame 6: The historian and the cat are seen sneaking into a castle, the cat's eyes gleaming with excitement. Frame 7: They return to the present, the historian with a stack of new historical findings, the cat with a feather in its mouth.中文翻译:第一帧:历史学家站在宏伟的图书馆前,时空旅行猫蹲在他的肩膀上,他们准备开始旅程。 第二帧:随着怀表的一扭,他们在一束光中消失,被传送回过去。 第三帧:他们到达古埃及,历史学家在做笔记,而猫在探索金字塔。 第四帧:历史学家追着猫,因为猫突然冲向一群狮身人面像,引起了一阵小骚动。 第五帧:他们发现自己在中世纪的欧洲,猫顽皮地敲响了城镇的钟,吸引了村民的注意。 第六帧:历史学家和猫被看到偷偷溜进一座城堡,猫的眼睛闪烁着兴奋的光芒。 第七帧:他们回到了现在,历史学家手里拿着一堆新的历史发现,猫嘴里叼着一根羽毛。生成图: