​GLM:AGI 之路

​北京时间 5 月 9 日晚,ICLR 2024 会场,GLM大模型技术团队受邀发表题为 The ChatGLM's Road to AGI 的主旨演讲,全面阐述GLM大模型面向 AGI 三大技术趋势。

第一,GLM-4的后续升级版本即GLM-4.5及其升级模型,应当基于超级认知(Superintelligence)和超级对齐(Superalignment)技术。

GLM大模型团队认为,文本是构建大模型最关键的基础,但下一步则应该把文本、图像、视频、音频等多种模态混合在一起训练,构建真正原生的多模态模型,同时超级对齐(Superalignment)技术将协助提升大模型的安全性。

第二,为解决更加复杂的问题,GLM大模型团队提出GLM-OS概念,即以大模型为中心的通用计算系统。在ICLR现场,GLM大模型团队详细阐述了GLM-OS的实现方式:基于已有 All-Tools 能力加上内存记忆(memory)和自我反馈(self-reflection) 机制,GLM-OS 有望实现模仿人类的Plan-Do-Check-Act 循环。

首先做出计划,然后初步尝试形成反馈,基于反馈结果调整规划,然后再行动以期达到更好的效果。大模型依靠PDCA循环机制形成自我反馈和自我提升——恰如人类自己所做一样。

第三,GLM大模型团队还在现场讲解了自2019年以来团队就一直在研究的名为GLM-zero的技术。GLM-zero旨在研究人类的“无意识”学习机制。“当人在睡觉的时候,大脑依然在无意识地学习。”GLM大模型团队表示,“无意识”学习机制是人类认知能力的重要组成部分,包括自我学习(self-instruct)、自我反思(self-reflection)和自我批评(self-critics)。

人脑中存在着反馈 (feedback) 和决策 (decision-making) 两个系统,分别对应着大模型和内存记忆两大部分,GLM-zero的相关研究将进一步拓展人类对意识、知识、学习行为的理解,换而言之,尽管还处于非常早期的研究阶段,但GLM-zero可以视为通向AGI的必经之路,这是GLM大模型团队第一次向外界公开这一技术趋势。

除了阐述GLM大模型面向AGI的三大技术趋势,GLM大模型技术团队在ICLR主旨演讲中还回顾了国产自研大模型 ChatGLM 的演进之路,向现场近2000名与会嘉宾与学者介绍了GLM系列大模型多项前沿研究成果,涵盖数学、文生图、图像理解、视觉UI理解、Agent智能体、涌现现象等领域。这是中国大模型团队首度登上 ICLR 主旨演讲环节。

ICLR 国际学习表征会议由深度学习巨头、图灵奖获得者 Yoshua Bengio 和 Yann LeCun 在2013年牵头举办,与ICML、NeurIPS 并称为机器学习领域水平最高会议之一。5月7日,ICLR 2024 在奥地利维也纳会展中心开幕,受新一波人工智能浪潮推动,本届ICLR在参展人数、展览规模、论文数量上均创新高。

你问的这段代码: ```cpp model = glm::translate(model, earthPos); model = glm::rotate(model, glm::radians(orbitAngle), glm::vec3(0, 1, 0)); model = glm::translate(model, glm::vec3(-orbitRadius, 0, 0)); model = glm::rotate(model, glm::radians(rotationAngle), glm::vec3(0, 1, 0)); model = glm::scale(model, glm::vec3(1.0f)); ``` 是月球的位置和姿态计算逻辑,应该放在 **`Moon::update(float dt, const Planet* earth)` 函数内部**。 --- ### ✅ 正确位置:`moon.cpp` 中的 `update` 函数体 #### 🔧 修改后的完整函数如下(替换原有 `update` 实现): ```cpp // 文件:moon.cpp #include "Moon.h" #include "Planet.h" void Moon::update(float dt, const Planet* earth) { orbitAngle += orbitSpeed * dt; rotationAngle += rotationSpeed * dt; const glm::vec3& earthPos = earth->worldPosition; model = glm::mat4(1.0f); // 重置模型矩阵 // 1. 移动到地球所在的世界位置 model = glm::translate(model, earthPos); // 2. 绕 Y 轴公转(轨道旋转) model = glm::rotate(model, glm::radians(orbitAngle), glm::vec3(0, 1, 0)); // 3. 沿 X 负方向推出一个轨道距离(形成环绕) model = glm::translate(model, glm::vec3(-orbitRadius, 0, 0)); // 4. 自转(绕自身 Y 轴) model = glm::rotate(model, glm::radians(rotationAngle), glm::vec3(0, 1, 0)); // 5. 缩放(建议设为 1.0f 左右,不要太小也不要太大) model = glm::scale(model, glm::vec3(1.0f)); } ``` --- ### 📌 注意事项 | 项目 | 说明 | |------|------| | 文件 | `moon.cpp` | | 函数 | `Moon::update(...)` | | 位置 | 整个函数体内容替换为此版本 | | 前提 | 确保 `orbitRadius = 30.0f` 在 `Moon.h` 中已定义 | --- ### 💡 示例:`Moon.h` 中的成员变量应包含 ```cpp private: float orbitRadius = 30.0f; // 轨道半径(单位:与场景一致) float orbitAngle = 0.0f; // 当前公转角度 float rotationAngle = 0.0f; // 自转角度 float orbitSpeed = 0.5f; // 公转速度(度/秒 × dt) float rotationSpeed = 2.0f; // 自转速度 ``` --- ✅ 完成后重新编译运行,月球将会: - 围绕地球在 XY 平面(或 XZ,取决于你的视角)做圆形轨道运动 - 正确显示大小 - 不再飞出视野 > ⚠️ 如果仍然看不见,请立即贴出以下调试输出: ```cpp std::cout << "Moon VAO: " << moon.getVAO() << std::endl; std::cout << "Moon texture: " << moon.getTextureID() << std::endl; std::cout << "Moon shader: " << (moon.shader ? "OK" : "NULL") << std::endl; std::cout << "Moon indexCount: " << moon.getIndexCount() << std::endl; auto pos = moon.model[3]; std::cout << "Moon world pos: (" << pos[0] << ", " << pos[1] << ", " << pos[2] << ")\n"; ``` 我帮你判断是“没数据”还是“跑偏了”。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值