微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 香港科技大学团队发明"减肥药":让AI大模型既聪明又轻盈的神奇方法

香港科技大学团队发明"减肥药":让AI大模型既聪明又轻盈的神奇方法

2025-09-26 13:56
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2025-09-26 13:56 科技行者

这项研究来自香港科技大学的唐艺轩和杨毅教授,发表于2025年9月的arXiv预印本平台(论文编号:arXiv:2509.10844v1),有兴趣深入了解的读者可以通过https://github.com/yixuantt/GAPrune访问相关代码。

把大型AI模型想象成一个知识渊博但身材臃肿的图书馆馆长。他什么都懂,从莎士比亚的诗歌到量子物理学,但正因为装了太多知识,他变得行动缓慢,需要巨大的空间和大量的能源才能正常工作。现在,香港科技大学的研究团队找到了一种给这位馆长"减肥"的方法,让他在保持专业知识的同时变得更加轻盈高效。

现实生活中,AI模型正面临着同样的困境。以文本嵌入模型为例,这类模型就像是一个能理解语言含义的翻译官,它需要将人类的文字转换成计算机能理解的数字形式。当我们说"苹果"时,它不仅要知道这是一种水果,在金融语境中还可能代表苹果公司的股票。但是,为了获得这种灵活的理解能力,这些模型变得越来越庞大。拿Qwen3-Embedding模型来说,小版本有6亿个参数就能获得337万次下载,而大版本有80亿参数却只有38万次下载,差距接近9倍。这就像是人们更愿意买一辆省油的小车而不是耗油的大卡车,即使大卡车性能更强。

问题的核心在于,传统的模型"减肥"方法就像用剪刀随意剪掉书页,它们无法区分哪些知识对特定领域更重要。比如在处理金融文本时,"负债"这个词带有明显的负面含义,因为它意味着风险和义务,但在一般语境下它只是一个中性的法律概念。传统方法可能会错误地删除那些对金融理解至关重要的知识,同时保留一些用不上的通用信息。

研究团队提出的GAPrune方法就像是一位精明的图书管理员,他不会盲目地扔掉书籍,而是会仔细评估每本书的价值。这种评估从两个角度进行:首先看这本书对特定领域有多重要,其次看这本书是否与图书馆的整体知识体系和谐相处。如果一本书既重要又不会与其他书籍产生冲突,那就保留它;如果一本书要么不重要,要么会干扰其他知识的使用,那就可以考虑移除。

一、探索AI模型的知识结构奥秘

在深入了解这项研究之前,我们需要理解AI模型的工作原理。把AI模型想象成一个超级复杂的配方,里面有数十亿个"调料"(参数)。每个调料都有自己的作用:有些负责识别名词,有些负责理解情感,还有些负责连接不同的概念。当模型处理文本时,这些调料会协同工作,就像厨师在烹饪一道复杂的菜肴。

现代的文本嵌入模型已经发展得相当复杂。像E5-Mistral-Instruct和Qwen3-Embedding这样的模型不仅能理解文字的字面意思,还能根据具体指令调整自己的理解方式。比如当你说"根据财务问题检索相关文档"时,它就知道要以金融专家的角度来理解文本;当你说"找到化学相关的资料"时,它又会切换到化学家的思维模式。

但这种灵活性是有代价的。为了在各种场景下都表现出色,这些模型必须储存大量的知识和模式。就好比一个万能工具箱,里面装满了各种工具,虽然功能强大,但也变得沉重不便。在实际应用中,我们往往只需要其中一部分工具,比如专门处理金融文本或化学论文,但传统方法很难精准地保留需要的部分而去掉不必要的部分。

研究团队发现,不同的参数在处理不同领域的信息时表现出不同的行为模式。有些参数就像是通用的语言理解专家,它们对任何文本都很重要;有些参数则像是专业顾问,只在特定领域发挥作用;还有一些参数可能会在不同领域间产生冲突,就像一个顽固的专家,总是用自己熟悉的方式理解问题,即使这种方式在新领域并不合适。

传统的模型压缩方法主要有两种思路。第一种是"按重量筛选",认为数值小的参数不重要,可以删除,就像扔掉轻的物品来减轻行李重量。第二种是"按重要性筛选",通过某种数学方法计算每个参数的重要性,然后删除得分低的参数。但这些方法都有一个共同的问题:它们用统一的标准评判所有参数,没有考虑到领域特异性的需求。

二、渐进式参数分析的精妙设计

GAPrune的核心创新就像是引入了一个双重评估系统。传统方法就像是用一杆秤称所有东西,而GAPrune则像是用两个不同的量尺来测量每个参数的价值。

第一把量尺测量的是"领域重要性",即这个参数对特定领域任务有多重要。研究团队使用了一种叫做Fisher信息的数学工具来实现这种测量。Fisher信息可以理解为"敏感度测量器",它能告诉我们如果稍微改变某个参数,模型的表现会发生多大变化。就像测试一个精密仪器的敏感部件,轻轻碰一下就会影响整体性能的部件显然更重要。

具体来说,研究团队会准备两套不同的测试数据:一套是通用的文本数据,包含新闻、百科全书、对话等各种类型的文本,确保覆盖不同的语言模式;另一套是特定领域的数据,比如金融报告、化学论文等专业文本。然后,他们会让模型在这两套数据上运行,观察每个参数的"敏感度"变化。如果一个参数在处理金融文本时表现出高敏感度,说明它对金融理解很重要;如果在通用文本上也很敏感,说明它同时具有通用价值。

第二把量尺测量的是"协调性",即这个参数在处理不同类型任务时是否表现一致。研究团队通过分析参数在不同数据上的"梯度"(可以理解为参数的"学习方向")来评估这种协调性。如果一个参数在处理通用文本时想往东走,在处理领域文本时也想往东走,说明它们的目标一致,这个参数应该保留。但如果一个参数在不同情况下想往相反的方向走,说明存在冲突,可能需要重新考虑。

研究团队将这种协调性用一个从-1到1的分数来表示。分数接近1说明高度协调,参数在不同情况下都朝着相同的方向优化,这样的参数就像是团队中的好队员,无论面对什么任务都能发挥积极作用。分数接近0说明参数在不同情况下的表现相互独立,需要根据其他因素来判断是否保留。分数接近-1说明存在严重冲突,参数在不同任务间表现出矛盾的优化方向,就像是一个在团队中制造麻烦的成员,可能需要移除。

为了高效地进行这种双重评估,研究团队还设计了一套巧妙的数据采样策略。他们没有使用全部的训练数据(那样会耗费太多计算资源),而是用一种叫做K-means聚类的方法从每个数据集中精选出5000个最具代表性的样本。这就像是在一个巨大的图书馆中选择最具代表性的书籍进行分析,既保证了分析的全面性,又大大降低了计算成本。

这种采样方法的精妙之处在于它能确保选出的样本覆盖整个数据集的语义空间。研究团队首先用现有的嵌入模型将所有文本转换成数字向量,然后在这个向量空间中进行聚类,每个聚类代表一类相似的语义内容,最后从每个聚类中选择最具代表性的样本。这样既保证了样本的多样性,又保证了计算的可行性。

三、创新性评分机制的数学艺术

有了两把量尺的测量结果,如何将它们综合成一个最终的评分呢?这就需要一个精妙的综合评分公式,研究团队称之为"领域对齐重要性"(DAI)评分。

这个评分公式就像是一个精明的投资顾问的决策过程。它不仅要考虑某项投资在特定市场的表现(领域重要性),还要考虑这项投资是否与整体投资组合和谐(协调性),同时还要考虑投资的规模(参数大小)。

具体来说,DAI评分包含三个核心组成部分。第一部分是"净领域价值",计算方法是用参数的领域重要性减去其通用重要性,再乘以参数的绝对值。这就像是计算一个员工对特定项目的净贡献,如果他对项目很重要但对公司整体贡献一般,那他就是一个值得在这个项目中保留的专业人才。相反,如果他对项目不太重要但对公司整体很重要,那可能需要重新考虑他在这个项目中的角色。

第二部分是"规模调节项",通过参数绝对值的平方根来体现参数的表达能力。就像大容量的硬盘即使利用率不是最高,也比小容量硬盘有更大的潜在价值。这个设计确保了那些具有较大表达能力的参数即使在其他方面表现中等,也能得到适当的保护。

第三部分是"协调性调节器",根据参数的协调性分数来调整最终评分。如果一个参数表现出良好的协调性(分数为正),它的重要性会被放大;如果表现出冲突性(分数为负),它的重要性会被削弱。这就像是在团队评估中,除了考虑个人能力,还要考虑团队合作精神。

这三个部分通过精心设计的权重进行组合。研究团队通过大量实验确定了最优的权重组合:领域与通用重要性的平衡因子设为1.0,意味着两者同等重要;协调性的影响因子设为0.2,确保它能发挥调节作用但不会过度影响其他因素;规模调节的权重设为0.5,在保护大参数的同时避免过度偏向。

这个评分机制的巧妙之处在于它体现了信息瓶颈理论的核心思想。信息瓶颈理论认为,最优的信息处理系统应该既能保留对目标任务最重要的信息,又能舍弃那些可能产生干扰的冗余信息。DAI评分正是在这个框架下工作:保留那些对领域任务重要且与整体目标协调的参数,移除那些要么不重要要么产生冲突的参数。

最终的剪枝过程就像是选拔过程的最后一步。所有参数按照DAI分数从高到低排序,然后保留得分最高的一定比例的参数(比如保留50%意味着删除另外50%),被保留的参数组成了压缩后的模型。这种一次性剪枝方法避免了传统方法中需要多轮迭代的复杂性,大大提高了效率。

四、实验验证中的惊喜发现

为了验证GAPrune方法的有效性,研究团队选择了两个极具挑战性的专业领域进行测试:金融和化学。这两个领域的选择很有代表性,因为它们都有着高度专业化的术语和概念体系,同时又与通用语言有着密切联系。

金融领域的挑战在于同一个词汇在不同语境下可能有截然不同的含义和情感色彩。"流动性比率"和"市值"这样的术语在金融语境下有着精确的定义,而"负债"在金融分析中明确带有风险警示的负面含义,这与其在一般法律语境下的中性含义形成鲜明对比。化学领域则面临着另一种挑战:高度技术化的词汇、系统性的命名规则、分子式和复杂的实体关系。"结合"在化学中指的是分子间的相互作用,而不是文档装订;理解这种差异对于药物发现等应用至关重要。

实验使用了两个权威的评测基准:FinMTEB(金融领域)和ChemTEB(化学领域)。FinMTEB包含了8个分类任务、2个语义相似性任务和8个检索任务,全面覆盖了金融文本理解的各个方面。ChemTEB则包含17个分类任务和2个检索任务,深度考察化学文本的理解能力。这些任务就像是给AI模型设计的专业资格考试,只有真正掌握了领域知识的模型才能取得好成绩。

研究团队选择了两个代表性的模型进行测试:Qwen3-Embedding-4B和E5-mistral-7B-Instruct。这两个模型代表了当前最先进的多任务嵌入模型,它们都具备指令跟随能力,能够根据不同的任务指令调整自己的行为。实验测试了两种压缩比例:30%稀疏性(删除30%的参数)和50%稀疏性(删除50%的参数)。

实验结果令人印象深刻。在最严格的测试条件下(50%稀疏性的一次性剪枝,即删除一半参数后不进行任何重新训练),GAPrune方法仍然能将性能损失控制在2.5%以内。这就像是一个人突然减掉一半体重后,仍然能保持98%以上的工作能力,这在传统方法中几乎是不可能实现的。

更令人惊喜的是重训练实验的结果。当研究团队在剪枝后进行100步的重新训练时,GAPrune不仅完全恢复了原有性能,还实现了显著提升:在FinMTEB上提升了4.51%,在ChemTEB上提升了1.73%。这种现象表明GAPrune不仅成功保留了重要参数,还通过移除干扰参数为模型学习创造了更好的条件。

与传统方法的对比更加凸显了GAPrune的优势。随机剪枝方法在50%稀疏性下导致40-60%的性能下降,基本上让模型变得不可用。基于重要性的Fisher剪枝方法表现稍好,但仍然出现了显著的性能下降,特别是通用Fisher剪枝在FinMTEB上的表现下降超过30%。这些结果证明了单一标准评估方法的局限性。

五、深层机制分析揭示的智慧

为了深入理解GAPrune为什么如此有效,研究团队进行了一系列深入的分析,这些分析揭示了一些有趣的发现。

首先是相关性分析。研究团队发现GAPrune与传统Fisher方法之间存在负相关关系,相关系数分别为-0.406(与领域Fisher)和-0.459(与通用Fisher)。这个负相关性说明GAPrune识别出的重要参数与传统方法识别的重要参数存在根本差异。更有趣的是,领域Fisher和通用Fisher之间却存在高度正相关(0.978),这说明单纯的Fisher信息方法可能无法有效区分领域特异性。

这种差异的根源在于评估角度的不同。传统Fisher方法就像是用放大镜观察单个细胞,关注的是参数变化对当前性能的直接影响。而GAPrune则像是用双筒望远镜观察整个生态系统,不仅关注单个参数的重要性,还关注它们之间的相互作用和在不同环境下的表现。

层级分析提供了另一个有价值的视角。研究团队通过提取模型不同层的隐藏状态发现,检索任务的性能在模型的后期层(大约第24层)会显著提升,这里是高级语义表示形成的关键区域。然而,传统的Fisher方法在这些关键层进行了过度剪枝,移除了对嵌入质量至关重要的参数。相比之下,GAPrune的梯度对齐组件帮助识别了那些同时维护通用语义基础和领域特定模式的参数,从而在关键层保留了更多重要参数。

几何分析从另一个角度验证了GAPrune的优势。研究团队分析了剪枝后嵌入空间的几何性质,发现GAPrune在多个关键指标上表现最佳。在对齐损失方面,GAPrune达到了0.51,显著优于其他方法,这意味着查询和正样本之间的语义对齐得到了更好保持。在跨维度相关性方面,GAPrune达到了0.52,表明参数剪枝后仍能维持良好的维度间关系。

特别值得注意的是有效维度分析。GAPrune使用了2560个总维度中的1820个,而领域Fisher剪枝只使用了1605个。这个差异表明仅基于领域的剪枝方法可能过于激进,移除了一些对通用知识重要的参数。GAPrune的平衡方法既保证了领域专业性,又维持了必要的通用能力。

计算效率分析显示GAPrune实现了33.4%的浮点运算减少,在实际应用中转化为显著的速度提升。在FiQA检索任务上,处理时间从1.89小时减少到1.17小时,这在大规模应用中将带来可观的成本节约。

六、方法论创新的深远意义

GAPrune的成功不仅在于其技术实现,更在于它体现的方法论创新。这项研究挑战了传统参数剪枝中"一刀切"的思维模式,提出了更加精细化和情境化的参数评估策略。

从理论角度来看,GAPrune体现了信息论中信息瓶颈原理的实际应用。信息瓶颈理论认为,优化的表示应该最大化对目标变量的信息量,同时最小化对输入的复杂性。GAPrune通过DAI评分机制恰好实现了这一平衡:保留对领域任务信息量最大的参数,同时移除那些可能产生干扰的冗余信息。

这种双重评估策略还体现了认知科学中的注意力机制理论。人类大脑在处理信息时也会根据任务需求动态调整注意力分配,既利用已有的通用知识基础,又突出任务相关的特定信息。GAPrune的梯度对齐分析本质上模拟了这种认知过程,评估参数在不同认知任务间的协调性。

从实践角度来看,这项研究为AI模型部署提供了一个新的优化维度。传统的模型压缩往往聚焦于单一目标(如最小化总体性能损失),而GAPrune引入了任务特异性的考量,这为针对特定应用场景的模型定制开辟了新道路。特别是在资源受限的环境中,这种方法可以帮助在性能和效率间找到更好的平衡点。

研究还揭示了AI模型内部知识组织的一些有趣特性。通过分析不同参数在不同领域的行为模式,研究团队发现模型的知识并不是均匀分布的,而是呈现出明显的模块化特征。一些参数主要负责通用语言理解,一些专门处理领域特异性信息,还有一些在不同领域间起到桥梁作用。这种发现为未来的模型架构设计提供了有价值的洞察。

梯度对齐分析作为一种新的参数重要性评估方法,其应用潜力远超出模型剪枝的范畴。这种方法可以帮助研究者更好地理解多任务学习中的任务冲突和协同关系,为设计更加协调的多任务架构提供指导。它也可以用于迁移学习中的源域和目标域适配,帮助识别哪些知识在迁移过程中是有益的,哪些可能产生负面影响。

七、技术细节与实现考量

GAPrune的实际实现涉及诸多技术细节,这些细节的精心设计确保了方法的可行性和有效性。

数据准备阶段,研究团队采用了对比学习的三元组格式(查询、正样本、负样本),这种格式能够很好地捕获语义相似性和差异性信息。对于通用数据集,他们使用了来自MSMARCO、SQuAD等公开数据集的多样化文本,确保覆盖不同的语言模式。对于金融领域,他们使用了专门合成的金融嵌入训练数据集。对于化学领域,他们从peS2o学术论文数据集的化学子集构建了数据集,并使用GPT-4生成查询,通过硬负样本采样生成负样本。

K-means聚类采样策略的具体实现使用了k=5000个聚类中心和20次迭代。这个参数选择平衡了代表性和计算效率:聚类数量太少可能无法充分覆盖语义空间的多样性,太多则会增加不必要的计算开销。20次迭代通常足以使聚类结果收敛到稳定状态。

Fisher信息的计算使用了对角近似,这大大降低了计算复杂度。完整的Fisher信息矩阵是参数数量的平方级别,对于数十亿参数的模型来说计算不现实。对角近似假设参数间相互独立,虽然这不完全准确,但在实践中提供了良好的近似效果,同时将计算复杂度降低到线性级别。

梯度对齐计算使用余弦相似性度量,这个选择有着深刻的数学原理。余弦相似性只考虑向量的方向而忽略大小,这正好符合我们对梯度方向一致性的关注。两个梯度向量的余弦相似性为1表示它们指向完全相同的优化方向,为-1表示完全相反的方向,为0表示正交(无关)。

DAI评分公式中的超参数选择经过了广泛的实验调优。β=1.0意味着领域重要性和通用重要性被给予相等的权重,这体现了平衡的设计理念。α=0.2确保梯度对齐信息能发挥调节作用,但不会过度主导评分结果。γ=0.5的规模调节权重在保护大参数的表达能力和避免偏向之间找到了平衡。

一次性剪枝策略的选择避免了迭代剪枝的复杂性和计算开销。虽然迭代剪枝理论上可能达到更好的结果,但它需要多轮计算和调整,在实际应用中往往不现实。一次性剪枝通过单次参数评估就能达到良好的效果,更适合实际部署场景。

八、局限性与未来发展方向

尽管GAPrune展现了显著的优势,但研究团队也坦诚地讨论了方法的局限性和改进空间。

首先是领域数据的依赖性。GAPrune的有效性很大程度上依赖于高质量的领域特定数据来计算Fisher信息和梯度对齐。对于一些新兴领域或数据稀缺的专业领域,可能难以获得足够的数据来准确评估参数重要性。这限制了方法的普适性,特别是在那些数据获取困难或隐私敏感的领域。

超参数敏感性是另一个需要考虑的因素。虽然研究团队通过实验确定了一组有效的超参数组合,但这些参数在不同的模型架构、不同的领域、不同的压缩比例下的最优值可能有所不同。缺乏自适应的超参数选择机制可能影响方法在新场景下的表现。

计算开销虽然比完整训练要小得多,但仍然需要对大量参数进行梯度计算和Fisher信息估计。对于资源极其受限的环境,这个开销可能仍然是一个挑战。未来可能需要开发更加高效的近似计算方法。

当前的方法主要关注MLP层的剪枝,对于注意力层等其他组件的处理还比较有限。现代Transformer模型中,注意力机制同样包含大量参数,如何将GAPrune的思想扩展到这些组件是一个有价值的研究方向。

未来的发展可能会在几个方向上取得突破。自适应超参数调整机制可以根据具体的模型和任务特性自动调整DAI评分公式中的权重,减少人工调优的需求。多层级剪枝策略可以将方法扩展到整个模型架构,不仅考虑参数级别的重要性,还考虑层级别甚至模块级别的重要性。

增量式领域适应是另一个有前景的方向。当前的方法假设领域是固定的,但在实际应用中,领域知识可能会不断演化和扩展。开发能够增量式更新参数重要性评估的方法,将使模型能够持续适应新的领域需求。

跨模态扩展也值得探索。当前的研究聚焦于文本嵌入模型,但类似的思想可能同样适用于图像、音频等其他模态的模型。多模态模型的剪枝可能需要考虑模态间的交互和协调,这将为GAPrune带来新的挑战和机遇。

九、对AI发展的启示与思考

GAPrune研究的意义远超出技术本身,它为AI领域的发展提供了一些深刻的启示。

首先是效率与性能平衡的新思路。长期以来,AI发展似乎陷入了一个"军备竞赛":模型越来越大,参数越来越多,计算资源需求越来越高。GAPrune证明了通过更智能的方法,我们可以在大幅减少资源消耗的同时保持甚至提升性能。这种思路对于AI的可持续发展至关重要,特别是在环保压力日益增加的今天。

其次是专业化与通用性的协调机制。现代AI系统面临着一个根本性的张力:如何在保持通用能力的同时实现专业化。GAPrune提供了一个优雅的解决方案,通过梯度对齐分析识别那些既支持通用理解又增强专业能力的参数。这种思想可能启发更多在通用性和专业性之间寻找平衡的研究。

知识组织和表示的洞察同样重要。通过分析参数在不同任务间的行为模式,GAPrune揭示了AI模型内部知识的结构化特征。这些发现可能对认知科学研究产生影响,帮助我们更好地理解人工智能系统如何组织和使用知识。

从实际应用的角度,这项研究为AI民主化提供了新的可能性。通过大幅降低模型部署的资源门槛,GAPrune让更多的组织和个人能够使用先进的AI技术。这种技术普及可能加速AI在各个领域的应用,特别是那些资源相对有限的中小企业和发展中国家。

方法论层面的贡献也值得重视。GAPrune展示了多角度评估和优化的价值,这种思想可以应用到AI研究的许多其他方面。无论是模型设计、训练策略还是评估方法,多维度的考量往往能带来更好的结果。

说到底,GAPrune的成功在于它体现了一种更加精细和智能的优化哲学。与其通过简单粗暴的方法追求单一目标,不如通过深入理解系统内部的复杂关系来实现多重目标的协调优化。这种哲学不仅适用于AI模型压缩,也可能指导我们在其他技术挑战中找到更优雅的解决方案。

归根结底,这项研究提醒我们,AI的进步不仅仅依赖于规模的扩大,更依赖于方法的创新和对系统本质的深入理解。在追求更强大AI系统的同时,我们也需要关注效率、可持续性和实际可用性。GAPrune为这种平衡发展提供了一个有价值的范例,展示了通过智能化方法实现"又好又快"发展的可能性。

有兴趣深入了解技术细节的读者,可以通过论文的GitHub仓库(https://github.com/yixuantt/GAPrune)获取完整的代码实现,或者访问arXiv预印本平台查看完整论文(论文编号:arXiv:2509.10844v1)。这项研究为AI模型优化开辟了新道路,相信会启发更多创新性的工作。

Q&A

Q1:GAPrune是什么?它解决了什么问题?

A:GAPrune是香港科技大学开发的一种AI模型"减肥"方法。它解决的核心问题是让大型AI模型在保持专业能力的同时变得更轻盈高效。传统方法在压缩模型时容易破坏专业知识,而GAPrune通过双重评估机制,既保留对特定领域重要的参数,又维护与通用能力的协调,实现了性能与效率的平衡。

Q2:GAPrune的核心技术原理是怎样的?

A:GAPrune使用两把"量尺"来评估每个参数:第一把测量参数对特定领域的重要性(通过Fisher信息),第二把测量参数在不同任务间的协调性(通过梯度对齐分析)。然后用创新的DAI评分公式将这些信息综合起来,保留那些既重要又协调的参数,移除那些不重要或产生冲突的参数。

Q3:GAPrune的实际效果如何?有什么应用前景?

A:实验显示GAPrune在删除50%参数的情况下,性能损失控制在2.5%以内,经过短时间重训练后甚至能比原模型提升4.51%。这意味着AI模型可以显著减少计算资源需求的同时保持专业能力,为中小企业和资源受限环境部署先进AI技术提供了可能性。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-