Laguna S 2.1 给我留下了深刻印象

Reddit r/LocalLLaMA 模型

摘要

Laguna S 2.1 是一款 120B 类模型,它通过使用长思考令牌解决了 Julia 中的一个复杂编码问题,给我留下了深刻印象。在一个内存受限的重排任务中,它的表现超过了 Qwen 模型。

由于对一款新的 120B 类模型感到兴奋,我决定用它来测试一个我花了几天时间解决的问题。这个问题是将数据从一种表示形式重排到另一种表示形式,但要在固定的内存预算内完成,并且不允许动态分配内存。后一个条件使得将解决方案分解为多个步骤变得困难,因为如果在早期阶段错误地存储数据,后面就没有空间了。本地的 Qwen 模型(3.5-122B-A10B UD-IQ4_XS 和 3.6-27B UD-Q4_K_XL)在这个问题上失败了。Laguna 在生成代码之前产生了超过 6 万个思考令牌,但最终成功编写了通过测试的代码,尽管使用了一个脏技巧,即将两个较小的整数打包成一个 64 位值(可能,但可能性不大,两个整数都可能大于 32 位,在这种情况下算法会失败)。正如另一个帖子所说,如此长的思考可能不适合常见的编码任务,但对于难题、调试和审查来说,在这么小的模型规模下拥有这样一个思考彻底的模型是件好事。测试使用的设置是:rope-scaling = yarn, rope-scale = 32, yarn-orig-ctx = 8192, yarn-attn-factor = 1.0 问题本身是:原始数据 id 是一个整数数组,表示来自 Union-Find 数据结构的簇的根节点,以及簇的总数 Nc。一个簇的根节点是属于该簇的元素的最小索引。在最坏情况下,簇的数量大致与 id 中元素的数量相同(预期的情况是有一个或两个大簇,其余是孤立元素,因此 Nc = O(N))。我需要将其转换为一个数组 list,其结构如下: - list[1]: Nc,簇的数量 - list[2:Nc+1]:簇在 list 中的起始索引 - list[Nc+2]:length(list) + 1,第 Nc+1 个簇的哨兵“起始索引” - list[list[2]:list[3]-1]:id 中属于第 1 个簇的元素的索引 - ……一直到列表末尾 必须修改 id,以便分配从 1 到 Nc 的簇 ID。簇必须按大小降序排列。在簇内,索引按升序排列。如果多个簇大小相同,则必须按照它们的根元素在 id 中出现的顺序排列。示例 id = [1, 2, 2, 1, 5, 2, 5, 5, 5], Nc = 3 必须转换为:id = [3, 2, 2, 3, 1, 2, 1, 1, 1], list = [3, 6, 10, 13, 15, 5, 7, 8, 9, 2, 3, 6, 1, 4] 该算法应使用 Julia 语言实现,并且除创建 list 外不进行任何内存分配。
查看原文

相似文章

Laguna S 2.1

Hacker News Top

Poolside发布Laguna S 2.1,一个总参数量118B的混合专家(MoE)模型,每个token激活8B参数,支持长达100万token的上下文,在长周期编程基准测试中取得了有竞争力的成绩,并被誉为同重量级中最具能力的自主编程模型。

Unsloth 推出的 Laguna S 2.1 量化版本已发布

Reddit r/LocalLLaMA

Unsloth 发布了 Laguna S 2.1 Mixture-of-Experts 模型的 GGUF 量化版本。该模型是一个拥有 118B 参数(8B 激活参数)的编码模型,具备 1M 上下文窗口和智能体能力。量化版本支持高效的本地部署。