原贴链接

我很好奇是否有关于在字符级别而不是词级别训练大型语言模型(LLMs)的研究。在较小的模型(例如产品分类器和情感分类器)中,我记得使用字符级别的循环神经网络(RNNs)比使用分词器能获得更好的结果,但显然训练时间更长,且内存占用不同。

有人在这方面取得了进展吗?较小的词汇表是否需要更多的嵌入位数?在较小的词汇表上,Transformer架构是否会达到瓶颈?它是否过于以西方文化为中心?感谢任何关于为什么这不切实际的研究或想法。

讨论总结

本次讨论主要聚焦于使用字符级别(character-level)的“分词器”训练大型语言模型(LLMs)的可行性和效果。参与者们探讨了字符级别分词在小模型中的优势,如更好的数字和拼写理解,以及在大模型中可能面临的挑战,包括训练时间延长、内存需求增加、推理时间变长等。此外,讨论还涉及了词汇量大小对嵌入位数的影响、变换器架构的性能瓶颈以及文化偏见等问题。总体上,讨论呈现出对字符级别分词在LLMs中应用的深入思考和探索。

主要观点

  1. 👍 字符级别的分词器在小型模型中效果更好
    • 支持理由:在小模型中,字符级别的RNN比基于分词的方法效果更好。
    • 反对声音:训练时间和内存需求更高。
  2. 🔥 使用Unicode代码点作为分词可能是最小合理选择
    • 正方观点:避免模型学习解码多种编码格式。
    • 反方观点:会有大量未使用的分词空间,可能需要模型学习utf8编码。
  3. 💡 字节级分词的主要思想是模型能够处理任何二进制/文本数据
    • 解释:模型根据数据特性动态“分词”。
  4. 👀 字符级别的训练可能有助于更好地理解数字和拼写
    • 支持理由:针对特定需求(如数字处理)进行字符级别的分词,以获得最佳效果。
    • 反对声音:当前计算资源可能不足以支持这种高内存需求的训练方式。
  5. 🤔 字符级别的模型在处理后续可能的组合时,选择范围更小,概率差异也较小
    • 解释:这使得模型在达到智能和应用智能时都更加困难。

金句与有趣评论

  1. “😂 There’s probably no reason to go smaller than Unicode code points as tokens.”
    • 亮点:强调了Unicode代码点作为分词的最小合理选择。
  2. “🤔 If you do Unicode code points you have a huge token space with the vast majority of tokens being basically unused.”
    • 亮点:指出了使用Unicode代码点可能带来的未使用分词空间问题。
  3. “👀 The model should be able to see raw data and learn to “tokenize” it on the go.”
    • 亮点:强调了模型动态分词的能力。

情感分析

讨论的总体情感倾向较为中性,参与者们对字符级别分词在LLMs中的应用持开放态度,但也指出了其中的挑战和限制。主要分歧点在于字符级别分词的实际效果和可行性,以及对计算资源的需求。可能的原因包括技术限制、文化偏见和当前计算资源的不足。

趋势与预测

  • 新兴话题:字符级别分词在特定需求(如数字处理)中的应用。
  • 潜在影响:对模型训练方式和计算资源需求的重新评估。