🌍一次预测多个token,Meta新模型推理加速3倍,编程任务提高17%
https://hub.baai.ac.cn/view/36857
🎄 LeetCode 周赛超越 80% 人类选手,推理性能超 Llama3-70B。
✨ 我国量子计算机实现“四算合一” 实现通算、智算、超算、量算的“四算合一”。
1.特斯拉Optimus人形机器人进厂打工,娴熟分装电池、自我矫正,还能走更远了
在过去的几个月里,特斯拉出色的制造团队制造出了更多的机器人,以便进行研究并收集人工智能数据。
团队训练并部署了一个神经网络,允许 Optimus 开始执行有用的任务,例如从传送带上捡起电池单元并将它们精确地插入托盘中。
这个神经网络完全端到端运行,这意味着 Optimus 只消耗来自机器人 2D 摄像头的视频以及板载本体感受器上的数据,并直接产生关节控制序列。
Optimus 完全在机器人的嵌入式 FSD 计算机上运行,由板载电池供电。这样的设计使得单个神经网络可以通过添加更多样化的数据到训练过程中来执行多个任务。
虽然目前 Optimus 还不完美,速度还有点慢,但我们看到了越来越高的成功率和越来越少的失误。特斯拉还训练 Optimus 从失败案例中恢复,并看到了自发的校正发生。
特斯拉已经在一家工厂部署了几台 Optimus 人形机器人,它们每天都在真实的工作站上进行测试,并持续改进。团队正在进行进一步的工作,以使 Optimus 移动更快,以及应对更恶劣的地形,同时不牺牲它的人性化特性。团队还将专注于可重复性、训练神经网络处理动态校准和机器人之间的微小差异。很快会有更多的更新。
2.微软推出融合MR+AI功能的开源平台SIGMA
据了解,SIGMA是一款专为HoloLens 2设计的交互式工具,融合了混合现实和人工智能技术,现已在GitHub上提供。它通过提供指导和回答问题来帮助用户执行分步任务,用户可以然后可以预先定义或动态生成任务,随后SIGMA将使用语言和视觉模型来检测和突出显示环境中的相关对象。它还可以使用Detic和SEEM等视觉模型回答用户问题并检测环境中与任务相关的对象。
微软表示,SIGMA旨在成为一个研究平台。微软将系统开源的目的是帮助其他研究人员跳过将全栈交互式应用程序组合在一起的基本工程挑战,并允许他们直接关注未来有趣的研究挑战。
3.MoonBit 周报 Vol.39:新增 JS 后端、插件和构建系统同步支持多后端开发……
MoonBit 更新
- 新增JavaScript后端
目前MoonBit已新增对JavaScript的支持并带来前所未有的性能提升,在JS后端实现了超出Json5近8倍性能的优势。更详细的介绍可以看一下这篇文章:IDEA研究院编程语言MoonBit发布JavaScript后端,速度提升25倍
如果你想自己体验一下,可以点击:github.com/moonbit-com…
-
现在MoonBit允许传递回调函数至FFI。但回调函数的参数和返回值类型目前只能是简单类型,如
Int
等。例子:// 使用示例:传递回调函数至外部 fn set_callback(f : () -> Int) = "ffi" "set_callback" // 使用示例 fn use_callback() -> Int = "ffi" "use_callback" test { let i = { val : 0 } set_callback(fn () { i.val += 1 i.val }) inspect(use_callback(), content="1")? inspect(use_callback(), content="2")? inspect(use_callback(), content="3")? inspect(use_callback(), content="4")? }
let f export default { // 必要外部接口:将闭包转换为JS函数。其他运行时根据语言不同实现方式不同 "moonbit:ffi": { "make_closure": (funcref, context) => funcref.bind(null, context) }, // 使用示例 "ffi": { "set_callback": (func) => { f = func; }, // 设置回调函数 "use_callback": () => f() // 使用回调函数 } }
-
修改显式实现 trait(extension method)的语法,允许显式写出要给哪个类型实现 trait
// 为 `Trait` 的方法 `method` 提供默认实现 impl Trait with method(...) { ... } // 给类型 `Type` 实现 `Trait` 的方法 `method` impl Trait for Type with method(...) { ... } // 带类型参数的情况 impl[X] Trait for Array[X] with method(...) { ... }
和之前的
fn Trait::method(...)
语法相比,新的语法允许显式写出实现 trait 的类型,签名信息更丰富、更清晰。由于写出了类型,编译器可以自动推断出方法的参数和返回值类型,不需要手动标注:trait MyTrait { f(Self) -> Option[Int] } // 无需标注 `self` 和返回值的类型 impl MyTrait for Int with f(self) { // 编译器能自动推断出返回值的类型是 `Option[Int]` Some(self) }
-
支持Bytes字面量
Bytes字面量
b"..."
会将双引号内的ASCII字符串转换为Bytes类型,字符串内支持十六进制和八进制转义。let b1 : Bytes = b"ASCII" let b2 : Bytes = b"\xFF\o000"
-
{ x }
的二义性问题修复
现在{ x }
会解析成只有一个x字段的struct,相当于{ x: x }
。对于这种容易造成混淆的写法,编译器会发出警告。
IDE更新
- 插件新增
moonbit.autoUpdate
的选项控制是否开启自动更新的提示 - 插件支持多后端开发
- 用户可以在vscode里选择不同的后端
- 非当前后端的代码对比度会变低
构建系统更新
- 支持后端特定文件,这些文件的拓展名以
.wasm|wasm-gc|js.mbt
结尾,例如:foo.wasm.mbt
,foo.wasm-gc.mbt
,foo.js.mbt
。例如在moon build --target js
中,只有普通的.mbt
文件与.js.mbt
才会参与构建。相应地,moon check|build|test
、以及moonbitlang/core
的链接修改为与后端相关。 moon.pkg.json
中的["link"]["js"]
中新增format
字段,用于指定输出的JavaScript模块格式,可能的值为esm|cjs|iife
,默认为esm
,- 在
esm
模式下,使用export { x as y }
语句导出 - 在
cjs
模式下,使用exports.y = x
导出 - 在
iife
模式下,使用globalThis.y = x
导出moon.pkg.json
样例:
- 在
{ "link": { "js": { "exports": [ "hello" ], "format": "cjs" } } }
moon test -u
支持自动更新测试块中的多个inspect
函数,以及添加-limit
选项用于限制自动更新的最大迭代次数。
工具链更新
moonrun
由wasmtime切换到v8,现在支持wasm-gc后端
moon new hello cd hello moon run main --target wasm-gc
moon info
的更新- 支持对方法进行分组,方便对比不同数据结构的实现
- 支持带标签的参数、默认参数和自动填充参数
type Map impl Map { debug_write[K : Debug, V : Debug](Self[K, V], Buffer) -> Unit elems[K, V](Self[K, V]) -> List[V] fold[K, V, T](Self[K, V], (T, V) -> T, ~init : T) -> T from_array[K : Compare + Eq, V](Array[Tuple[K, V]]) -> Self[K, V] // ... }