![]()
这项由Meta公司FAIR实验室联合华盛顿大学保罗·艾伦计算机科学与工程学院、芝加哥大学共同完成的重要研究发表于2024年12月,论文编号为arXiv:2412.09871v1。有兴趣深入了解的读者可以通过该编号查询完整论文。
当我们打字时,电脑需要先把文字"翻译"成特殊的代码才能理解,就像需要翻译官才能和外国人交流一样。现在,Meta公司的研究团队开发出了一种革命性的人工智能模型,叫做"字节潜在变换器"(Byte Latent Transformer,简称BLT),它能够直接理解原始的文字字节,就像一个天才语言学家不需要翻译就能理解任何语言。
这个突破有多重要呢?当前最先进的AI模型(如ChatGPT的底层技术LLaMA)都需要一个叫做"分词器"的中间步骤,把文字切分成固定的小块再进行处理。这就像切蛋糕时必须按照预设的模具来切,有时候切得不合适,重要信息就会丢失。而BLT模型却能根据内容的实际需要灵活地"切蛋糕",哪里需要细致处理就在哪里投入更多计算资源。
研究团队通过大规模实验证明,BLT模型不仅在理解能力上达到了与传统方法相当的水平,还在多个方面表现出了明显优势:处理带有错别字或特殊格式的文本时更加稳定,对不同语言的处理更加公平,在推理任务中表现更好。更令人惊喜的是,它还能节省高达50%的计算成本,这意味着同样的硬件能够支撑更强大的AI应用。
这项研究的创新意义不仅在于技术突破,更在于它为AI发展开辟了一条全新道路。就像从马车时代跨入汽车时代一样,BLT模型代表着AI理解文本方式的根本性变革,为构建更智能、更高效、更普适的人工智能系统奠定了重要基础。
**一、传统AI处理文本的困境:就像用固定模具切蛋糕**
目前的AI模型处理文本就像一家蛋糕店必须用固定模具切蛋糕一样。无论是简单的奶油蛋糕还是复杂的多层生日蛋糕,都得用同一套模具来切割。这种"一刀切"的方式带来了不少问题。
当我们输入文字时,AI首先要通过"分词器"把连续的文字切分成一个个"词块"(token)。比如"hello world"可能被切成"hello"和"world"两块,而"不可思议"可能被切成"不可"和"思议"。这套固定的切分规则在设计时就确定了,就像蛋糕模具一旦制作完成就无法改变形状。
这种固定切分方式在遇到复杂情况时就显得力不从心。比如处理其他语言时,中文、阿拉伯文的切分方式和英文完全不同,用同一套"模具"就会切得不合适,导致AI对这些语言的理解能力下降。又比如遇到网络用语、专业术语或者有错别字的文本时,固定的切分规则可能把一个完整概念切得七零八落,AI就难以准确理解原意。
更关键的是,传统方法对每个词块都投入相同的计算资源。这就像给每块蛋糕都配备同样的装饰师和同样的时间,不管这块蛋糕是简单的还是复杂的。预测"猫咪很可爱"中的"爱"字需要的思考时间,和预测"量子物理学中海森堡不确定性原理的核心概念"中的关键词需要的思考时间显然应该不同,但传统方法却一视同仁。
研究团队发现,这种"一刀切"的问题在处理噪声文本时特别明显。当文本中出现拼写错误、大小写混乱或者特殊字符时,传统的分词器往往会把这些"不规范"的内容切分得更加混乱,导致AI的理解能力急剧下降。这就像用标准模具去切一个形状不规则的蛋糕,结果只能得到一堆碎渣。
**二、BLT模型的革命性创新:智能动态切分技术**
Meta研究团队开发的BLT模型就像一位经验丰富的面包师,不再依赖固定的模具,而是根据每个蛋糕的实际形状和复杂程度来灵活切分。这种智能动态切分的核心是一套全新的"补丁"(patch)系统。
传统方法处理文本时,每个字符都要经过完整的计算流程,就像每粒米都要经过同样复杂的加工程序。BLT模型则将连续的字符聪明地组合成"补丁",每个补丁包含几个到十几个字符不等。这些补丁的大小不是固定的,而是根据内容的复杂程度动态调整。
这种动态调整的依据是什么呢?研究团队使用了一个巧妙的"熵"概念。简单来说,熵衡量的是预测下一个字符的难度。当我们看到"北京是中国的首"这几个字时,下一个字很可能是"都",这种情况下熵值较低。但如果看到"这个问题的答案可能是",下一个字的可能性就很多,熵值较高。
BLT模型会训练一个小型的"预测器"来计算每个位置的熵值。当熵值较低时(也就是下一个字符比较容易预测),模型就会把更多字符打包成一个大补丁,因为这部分内容相对简单,不需要太多计算资源。当熵值较高时(预测难度大),模型就会创建较小的补丁,甚至单个字符一个补丁,确保有足够的计算资源来处理这些复杂部分。
这就像一个智能的阅读助手,遇到简单段落时快速浏览,遇到复杂概念时放慢速度仔细分析。比如处理"在一个阳光明媚的下午"这样的常见表达时,模型可能将整个短语作为一个补丁处理,因为这种表达相对简单且常见。但处理"量子纠缠现象中的非定域性特征"这样的专业术语时,模型会将其切分成更小的补丁,每个补丁都能获得更多的计算资源。
**三、三层架构设计:分工合作的智能系统**
BLT模型的架构就像一个高效的工厂流水线,包含三个各司其职的部分:本地编码器、全局潜在变换器和本地解码器。每个部分都有自己的专长,通过精密配合完成复杂的文本理解任务。
本地编码器就像工厂的预处理车间,负责接收原始的字符输入并进行初步加工。它是一个轻量级的模块,只有少数几层神经网络,主要任务是将原始字符转换成补丁表示。这个编码器还有一个特殊技能:它会为每个字符添加"上下文记忆",就像给每个字符贴上标签,记录它前面几个字符的信息。比如处理"不"字时,编码器会记住它是出现在"想不到"中还是"不可能"中,因为不同的上下文会影响理解。
全局潜在变换器是整个系统的"大脑",也是计算资源最集中的部分。它接收编码器处理过的补丁,进行深度的语义理解和推理。这个模块拥有数十层神经网络,能够捕捉复杂的语言模式和长距离的依赖关系。由于输入的是补丁而不是单个字符,这个"大脑"需要处理的信息单元数量大大减少,从而能够更专注于高质量的理解和推理。
本地解码器则像工厂的包装车间,负责将"大脑"的理解结果转换回人类可读的文字。它同样是一个轻量级模块,但承担着重要的"翻译"工作,确保AI的内部理解能够准确表达为外部文字。
这三个模块之间通过一种叫做"交叉注意力"的机制进行协作。这种机制就像三个部门之间的高效沟通系统,确保信息能够在不同层次之间准确传递。编码器处理字符时会关注补丁的整体信息,解码器生成文字时会参考"大脑"的理解结果,形成一个闭环的信息流。
特别值得一提的是,BLT模型还采用了一种叫做"哈希n元组嵌入"的技术。这就像给每个字符及其周围的字符组合都建立一个"指纹数据库"。当模型遇到"北京"这个词时,它不仅知道"北"和"京"的单独含义,还记得"北京"作为组合的特殊含义。这种技术大大增强了模型对中文等复杂语言的理解能力。
**四、训练过程:从零开始学习语言理解**
训练BLT模型的过程就像培养一个从未接触过人类语言的外星智慧,让它逐步学会理解和使用我们的文字。整个训练过程分为几个阶段,每个阶段都有特定的目标和挑战。
首先是"熵预测器"的训练。研究团队先训练了一个小型的字节级语言模型,这个模型的任务就是预测每个位置下一个字符的难度。这就像训练一个"阅读难度评估师",它需要学会判断文本的哪些部分容易理解,哪些部分需要更多思考。这个预测器使用了1亿个参数,在大量文本上进行训练,学会了识别各种语言模式的复杂程度。
接下来是主要模型的训练。研究团队使用了两个大规模数据集:一个包含2万亿词汇的LLaMA 2数据集,另一个是专门构建的包含1万亿词汇的BLT-1T数据集。这些数据涵盖了网页文章、书籍、新闻、代码等各种类型的文本,确保模型能够学会处理现实世界中的各种语言使用情况。
训练过程中,模型需要学会三个关键技能。第一个技能是动态分片,也就是学会根据文本的复杂程度灵活调整补丁大小。模型通过不断尝试不同的分片策略,逐步学会了在简单文本处使用大补丁,在复杂文本处使用小补丁。
第二个技能是多层次理解。本地编码器学会了从原始字符中提取初步特征,全局变换器学会了深度理解和推理,本地解码器学会了将理解结果转换为准确的输出。这三个模块需要协调配合,就像乐队的不同乐器需要和谐演奏。
第三个技能是上下文记忆。模型学会了记住每个字符前面几个字符的信息,这种记忆机制帮助模型更好地理解词汇的含义。比如"银行"这个词,在"河岸边的银行"和"去银行取钱"中含义完全不同,模型需要通过上下文记忆来正确区分。
训练过程的一个重要创新是"计算资源控制"。研究团队确保BLT模型和传统模型使用相同的计算资源进行训练,这样才能公平比较两种方法的效果。他们通过精确计算每种操作所需的浮点运算次数,确保比较的公正性。
**五、实验验证:全面超越传统方法的卓越表现**
为了验证BLT模型的实际效果,研究团队进行了迄今为止最大规模的字节级模型测试。他们训练了从4亿参数到80亿参数不等的各种规模模型,使用了高达4万亿字节的训练数据,这相当于1万亿个英文单词的数据量。
在与LLaMA 3等顶级模型的直接对比中,BLT模型表现出了令人惊喜的优势。在标准的语言理解任务中,BLT模型不仅达到了传统方法的性能水平,在某些任务上还表现更好。更重要的是,它实现了这一切的同时还能节省大量计算资源。
具体来说,在使用相同训练资源的情况下,BLT模型在常识推理任务(如ARC-Easy、HellaSwag)中的表现与LLaMA 3相当,在某些任务中甚至略胜一筹。在编程任务(如HumanEval、MBPP)中,BLT模型展现出了更强的代码理解和生成能力,这可能得益于它对字符级细节的精确把握。
更令人振奋的是BLT模型的"缩放优势"。研究发现,当允许同时增加模型大小和补丁大小时,BLT模型的性能改善速度明显快于传统方法。这就像发现了一条新的性能提升路径:传统方法只能通过增加模型参数来提升性能,而BLT模型还可以通过优化补丁策略来获得额外的性能提升。
在计算效率方面,BLT模型的优势更加明显。使用较大补丁的BLT模型可以将推理时所需的计算资源减少50%,而性能损失微乎其微。这意味着同样的硬件可以支持更快的AI应用,或者达到相同性能时需要更少的电力消耗。
研究团队还进行了一项特别有意义的"固定推理资源扩展实验"。他们固定推理时的计算预算,然后比较不同训练数据量下各种模型的表现。结果显示,BLT模型的性能改善曲线更加陡峭,这意味着随着训练数据的增加,BLT模型的优势会越来越明显。
**六、抗干扰能力测试:面对挑战时的卓越稳定性**
真实世界中的文本往往不如教科书那样规整,充满了各种"不完美":错别字、大小写混乱、特殊符号、网络用语等。BLT模型在这些挑战性场景中的表现,真正体现了它的实用价值。
研究团队设计了一系列"文本破坏测试",故意在标准测试文本中引入各种干扰。第一种干扰是"蚂蚁语"转换,将正常文本转换成"T H I S I S A T E S T"这样的大写分离格式。第二种是随机删除10%的字符,就像文本在传输过程中发生了损坏。第三种是随机大小写混合,让文本看起来像"tHiS iS a TeSt"。第四种是字符重复,随机将某些字符重复多次。第五种是全部大写转换。
在这些测试中,传统的基于分词器的模型表现出了明显的脆弱性。比如在HellaSwag任务中,当面对正常文本时,LLaMA 3能达到79.1%的准确率,但面对各种干扰文本时,平均准确率下降到56.9%。而BLT模型在相同条件下,正常文本准确率为80.6%,面对干扰文本时仍能保持64.3%的准确率,展现出更强的鲁棒性。
更有趣的测试是字符级理解任务。研究团队使用了一个叫做CUTE的基准测试,专门评估模型对字符操作的理解能力。比如要求模型完成"将'hello'中的'l'替换为'x'"这样的任务。传统模型在这类任务中的表现相当糟糕,平均得分只有27.5分,而BLT模型获得了54.1分的优异成绩。
在拼写和字符操作的精确测试中,BLT模型的优势更加突出。它在拼写任务中达到了99.9%的准确率,而LLaMA 3只有1.1%。这种巨大差异反映了两种方法在处理字符级信息时的根本区别:BLT模型对每个字符都有直接的"感知",而传统模型只能通过固定词块的间接推测来处理字符信息。
**七、多语言处理:打破语言障壁的公平智能**
传统的AI模型在处理不同语言时存在明显的"偏见",这种偏见来源于分词器的设计。大多数分词器都是基于英语设计的,对其他语言(特别是非拉丁语系的语言)的处理效果相对较差。这就像用专为切披萨设计的刀具去切寿司,虽然能完成任务,但效果肯定不够理想。
BLT模型由于直接处理字符字节,天然地避免了这种语言偏见。研究团队使用FLORES-101多语言翻译基准测试验证了这一优势,该测试覆盖了从高资源语言(如德语、意大利语)到低资源语言(如阿姆哈拉语、阿萨姆语)的27种语言。
在高资源语言的翻译任务中,BLT模型与传统方法的表现基本持平,这证明了它没有因为处理方式的改变而损失基础能力。但在低资源语言的处理中,BLT模型展现出了明显优势。以孟加拉语为例,在孟加拉语到英语的翻译中,传统方法的BLEU分数为4.7分,而BLT模型达到了12.7分,提升幅度接近3倍。
这种优势的产生有其深层原因。传统分词器在设计时主要考虑了英语等主流语言的特点,对于使用不同文字系统的语言(如阿拉伯文、中文、泰文等),切分策略往往不够合适。而BLT模型的动态补丁策略能够根据每种语言的实际特点进行调整,自动学会了适合不同语言的处理方式。
特别值得注意的是,BLT模型在处理混合语言文本时表现出了更好的稳定性。现实世界中的文本经常包含多种语言混合,比如中文文本中夹杂英文单词,或者阿拉伯文中包含数字和拉丁字母。传统分词器在处理这种混合文本时容易出现错误切分,而BLT模型的字节级处理方式能够更好地保持文本的完整性。
**八、计算效率革命:性能与成本的完美平衡**
BLT模型最令人兴奋的特性之一是它在计算效率方面的突破。这种效率提升不是以牺牲性能为代价的,而是通过更智能的资源分配策略实现的双赢。
传统AI模型处理文本时,每个词块都需要经过完整的计算流程,这就像每个客人无论点什么菜都需要相同的烹饪时间。而BLT模型则像一个经验丰富的餐厅,简单的菜品快速制作,复杂的菜品投入更多时间和精力。
具体的效率提升体现在多个方面。首先是推理速度的提升。当BLT模型使用平均8个字符的补丁大小时,需要处理的补丁数量比传统方法的词块数量减少约50%。由于大部分计算都发生在处理这些基本单元时,补丁数量的减少直接转化为计算时间的节省。
其次是内存使用的优化。传统方法需要为每个词块分配固定的内存空间,而BLT模型可以根据实际需要动态分配内存。简单的补丁使用较少内存,复杂的补丁获得更多内存,整体的内存利用效率更高。
更重要的是,BLT模型开创了一个新的优化维度。传统方法要提升性能只能增加模型参数或训练数据,而BLT模型还可以通过优化补丁策略来获得性能提升。这就像发现了一条新的道路,可以更快地到达目的地。
研究团队进行的"固定推理预算扩展实验"特别有说服力。他们固定了推理时可用的计算资源,然后比较不同模型在各种训练数据量下的表现。结果显示,随着训练数据的增加,BLT模型的性能改善速度明显快于传统方法,而且这种优势会随着模型规模的增大而进一步放大。
这种效率优势对实际应用意义重大。在相同的硬件条件下,使用BLT模型的AI应用可以服务更多用户,或者为同样数量的用户提供更快的响应速度。对于大型科技公司来说,这意味着数据中心的电力成本可以显著降低,对于小型开发者来说,这意味着可以用更便宜的硬件部署高质量的AI应用。
**九、字符级认知能力:深入语言细节的智慧**
BLT模型最引人注目的能力之一是它对字符级细节的深度理解,这种能力在处理需要精确操作文本的任务时表现得尤为突出。这就像传统AI只能看到文字的"轮廓",而BLT模型能够看到每个笔画的细节。
在语音学任务中,BLT模型展现出了令人惊讶的能力。研究团队使用了一个叫做"字素到音素"的转换任务,要求模型将书面文字转换成发音符号。比如将"phone"转换成"/fo?n/"这样的音标。这种任务需要模型理解每个字母在不同上下文中的发音规则,这对字符级处理能力要求很高。
BLT模型在这个任务上的表现明显优于传统方法。它不仅能正确处理规则发音,还能处理各种例外情况。比如英语中"ough"在不同单词中有完全不同的发音:在"tough"中读作/?f/,在"though"中读作/o?/,在"cough"中读作/?f/。BLT模型通过对字符组合的精确感知,学会了这些复杂的发音规则。
在文本操作任务中,BLT模型的优势更加明显。研究团队设计了一系列需要精确字符操作的任务,比如"将'interesting'中的第三个字母替换为'x'"。传统基于分词器的模型在这类任务中表现很差,因为它们无法精确定位到具体的字符位置。而BLT模型在这些任务中几乎达到了完美的准确率。
特别有趣的是同义词和拼写相似性判断任务。传统模型往往会被表面的词汇相似性误导,比如认为"horse"和"house"在拼写上很相似(实际上只差一个字母),但在语义上关系不大。BLT模型则能够更好地平衡拼写相似性和语义相似性,做出更准确的判断。
这种字符级认知能力还体现在对不同书写系统的处理上。比如在处理阿拉伯文时,传统模型可能无法正确处理从右到左的书写方向和连写特性,而BLT模型能够更好地保持这些书写系统的完整性。在处理中文时,BLT模型对汉字的部首和结构有更好的感知,这有助于理解汉字之间的关联关系。
**十、实际应用潜力:改变AI应用的游戏规则**
BLT模型的技术突破为人工智能应用开辟了广阔的前景,特别是在那些需要精确文本处理和多语言支持的场景中。
在代码生成和程序理解方面,BLT模型展现出了独特优势。编程语言对格式和符号有严格要求,一个缺失的分号或错误的缩进都可能导致程序无法运行。传统模型在处理代码时,分词器可能会错误地切分关键的编程符号或关键字,导致生成的代码存在语法错误。而BLT模型对每个字符都有精确感知,能够更准确地理解和生成代码结构。
在文档处理和信息提取领域,BLT模型的抗干扰能力特别有价值。现实世界的文档往往包含各种格式错误、OCR识别错误或人为输入错误。传统AI在遇到这些"脏数据"时性能会显著下降,而BLT模型能够在一定程度上"容忍"这些错误,仍然准确理解文档的核心内容。
多语言客服和翻译应用是另一个重要方向。目前的AI客服系统往往对某些语言支持不佳,特别是那些使用人群较少的语言。BLT模型的语言公平性特点使得构建真正的全球化AI服务成为可能,即使是小语种用户也能获得高质量的AI服务。
在教育技术方面,BLT模型的字符级理解能力可以支持更精细的语言学习辅导。比如在英语学习中,它可以准确识别学生在拼写、语法方面的具体错误,并提供针对性的建议。在编程教育中,它可以精确定位代码中的语法错误,并解释错误的原因。
搜索引擎和信息检索也可能从BLT模型中受益。传统搜索引擎在处理包含错别字或非标准表达的查询时效果不佳,而BLT模型的鲁棒性可以帮助理解用户的真实意图,即使查询中包含拼写错误或使用了非标准的表达方式。
**十一、技术挑战与解决方案:克服实现路上的障碍**
虽然BLT模型展现出了巨大潜力,但从实验室到实际应用还需要解决一系列技术挑战。研究团队在论文中诚实地讨论了这些挑战,并提出了相应的解决思路。
第一个挑战是计算实现的复杂性。BLT模型的动态补丁机制意味着每次处理的数据结构都可能不同,这对现有的AI计算框架提出了新要求。传统的AI加速硬件和软件都是为处理固定大小的数据块而优化的,而BLT的可变补丁大小需要更灵活的计算支持。
研究团队通过开发专门的"柔性注意力"(FlexAttention)机制部分解决了这个问题。这种机制可以高效处理不规则的注意力模式,为动态补丁提供了必要的计算支持。然而,要达到与传统方法相同的计算效率,还需要在硬件和系统软件层面进行更多优化。
第二个挑战是训练数据的需求。虽然BLT模型不需要预先构建固定的词汇表,但它需要训练一个额外的熵预测模型来指导动态分片。这个预测模型虽然相对较小,但仍然需要大量数据来训练,这增加了整体的训练成本。
对于这个问题,研究团队提出了几种优化策略。一种是使用更小的预测模型,通过技术优化在保持预测准确性的同时减少参数数量。另一种是共享预测模型,多个BLT应用可以使用同一个预测模型,摊薄训练成本。
第三个挑战是与现有生态系统的兼容性。目前的AI开发工具、部署平台和优化技术都是围绕传统的基于分词器的模型设计的。BLT模型要大规模应用,需要整个生态系统的配套支持。
为了解决这个问题,研究团队提出了一种"渐进迁移"的策略。他们展示了如何将已经训练好的传统模型(如LLaMA 3)转换为BLT模型,通过初始化BLT的全局变换器部分来加速训练过程。这种方法不仅可以利用现有的模型资产,还可以降低从传统方法迁移到BLT的成本。
**十二、未来发展方向:开启AI新纪元的可能性**
BLT模型的成功不仅仅是一个技术突破,更重要的是它为AI发展指明了新方向。这种直接处理原始数据、动态分配计算资源的理念,可能会影响未来AI系统的整体设计思路。
在技术演进方面,研究团队已经在探索更加先进的动态分配策略。目前的BLT模型主要基于熵值来决定补丁大小,未来可能会结合更多因素,比如任务类型、用户偏好、计算资源状况等,实现更加智能的自适应处理。
多模态扩展是另一个令人兴奋的方向。BLT模型处理文本的成功经验可能可以推广到图像、音频等其他数据类型。比如在图像处理中,可以根据图像区域的复杂程度动态分配计算资源,简单的背景区域使用较少计算,复杂的前景对象获得更多关注。
更大规模的模型训练也在计划中。虽然当前的实验已经达到了80亿参数的规模,但研究团队相信BLT模型的优势会在更大规模下进一步显现。随着训练数据和计算资源的增加,BLT模型与传统方法的性能差距可能会进一步拉大。
在应用层面,BLT模型可能会推动AI服务的普及化。由于其更高的计算效率,相同的硬件成本可以支持更多用户或提供更复杂的服务。这对于AI技术在发展中国家的推广具有重要意义,可能会缩小全球数字鸿沟。
说到底,BLT模型代表的不仅仅是技术上的改进,更是思维方式的转变。它告诉我们,有时候回到问题的本质(直接处理原始数据),反而能够找到更好的解决方案。在AI技术日益复杂的今天,这种"返璞归真"的思路可能会带来更多意想不到的突破。
这项研究的影响可能会持续很多年。就像当年Transformer架构的提出改变了整个自然语言处理领域一样,BLT模型的动态计算分配理念也可能会成为未来AI系统的标准设计思路。对于普通用户来说,这意味着未来的AI助手会更智能、更高效,也更便宜。对于研究者来说,这意味着一个全新的研究方向和无数待探索的可能性。
Q&A
Q1:BLT模型和传统AI模型在处理文字时有什么不同?
A:传统AI模型需要先把文字切分成固定的词块再处理,就像用固定模具切蛋糕。BLT模型则直接处理原始字符,根据内容复杂程度灵活调整处理单元大小,简单内容快速处理,复杂内容投入更多计算资源,既提高了理解准确性又节省了计算成本。
Q2:BLT模型真的能节省50%的计算成本吗?
A:是的,BLT模型通过智能的动态补丁策略,可以将推理时所需的计算资源减少最多50%,同时性能损失很小。这是因为它能根据文本复杂程度合理分配计算资源,避免了传统方法对所有文字都投入相同计算量的浪费。
Q3:BLT模型在处理中文等非英语语言时有什么优势?
A:BLT模型对不同语言更加公平。传统模型的分词器主要针对英语优化,处理其他语言效果较差。BLT模型直接处理字符,避免了语言偏见,在处理低资源语言时表现尤其突出,翻译质量可以提升2-3倍。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.