老司机 iOS 周报 #336 | 2025-05-26
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
文章
🌟 🐢 LLM 学习笔记:最好的学习方法是带着问题去寻找答案
@Cooper Chen:这篇文章以日常 AI 聊天场景为切入点,生动解析了大语言模型背后的技术原理。特别值得关注的是:
- 完整训练流程剖析
- 数据清洗:详细讲解如何通过 MinHash 去重、PII 移除、Gopher 过滤等技术处理海量原始数据
- Tokenization 优化:深入解析 BPE/WordPiece 算法,对比不同模型的词汇表设计(如 GPT-4 的 10 万 token 词汇表)
- 分布式训练:揭秘千亿参数模型如何在数千 GPU 上高效并行训练
- 监督微调(SFT):展示如何用人工标注的高质量对话数据优化模型输出
- 奖励建模(RM):详解如何训练小型网络评估回答质量,实现人类偏好对齐
- DeepSeek-R1 的创新实践
-
GRPO 算法详解:
- 创新性地采用分组相对策略优化(Group Relative Policy Optimization)
- 通过分组奖励估计替代传统批评模型,降低 40% 训练成本
- 结合准确性奖励(基于规则验证)和格式奖励(强制结构化输出)
-
自主推理能力涌现:
- 训练过程中自然发展出自我验证和反思能力
- 在数学(AIME 2024)任务上 pass@1 达 71%
- 自动生成长思维链(CoT)推理过程,平均生成 500+ 推理 token
文章用大量实例和图表,将复杂的模型训练过程讲解得通俗易懂。无论是想了解 AI 工作原理的初学者,还是希望深入掌握训练技巧的开发者都能从中获得启发。
🐎 What's new in Swift 6.2?
@Smallfly:这篇文章介绍了 Swift 6.2 将会迎来的重大更新,聚焦于提升开发效率与代码安全性。其核心改进包括:
- 并发编程简化:通过编译器标志
-default-isolation MainActor
支持模块级主线程默认隔离,大幅降低异步代码复杂度;新增Task.immediate
实现同步任务初始化,优化执行逻辑。 - 语法增强:引入原始标识符(如
`Strip HTML tags`()
)提升测试可读性,字符串插值支持默认值(\(age, default: "Unknown")
),KeyPath 扩展支持方法调用(map(\.uppercased())
)。 - 工具升级:
Backtrace
API 提供运行时堆栈追踪,任务命名功能(Task(name: "FetchNews")
)助力异步调试,InlineArray
实现高性能定长存储。 - 测试革新:支持验证程序崩溃逻辑(
#expect(processExitsWith:)
),失败测试可附加日志 / 数据(Attachment.record()
)。 - 安全强化:严格内存检查要求显式标记
@unsafe
代码,全局 Actor 隔离协议提升并发安全。
此次更新通过 20+ 项提案优化了语言一致性,为开发者提供更简洁、安全的工具链,尤其助力 SwiftUI 和服务器端开发的深度整合。
🐎 Dependency container on top of task local values in Swift
@Cooper Chen:这篇文章由 Swift 专家 Majid 撰写,深入探讨了 Swift 并发编程中的 Task Local Values(任务本地值),并创新性地将其应用于依赖注入容器的实现。
文章首先解析了 @TaskLocal 宏的核心机制,展示了它如何在异步任务间隐式传递数据,类似于 SwiftUI 的 Environment。随后,作者通过构建一个支持多环境(生产 / 测试)的依赖容器,演示了如何利用这一特性优雅地管理全局依赖,特别是在单元测试中快速切换 mock 实现。适合中高级 Swift 开发者学习现代并发编程范式,为复杂应用架构提供新思路。
🐎 2025 上半年 Flutter iOS 大坑超汇总,看看你踩中了没
@david-clang:本文汇总了 2025 上半年 Flutter iOS 影响比较大的 6 个问题,好在这些问题都有对应的解决办法,它们分别是:
- iOS 18.4 Beta 的 JIT 权限问题(#163984)
- macOS 15.4 打包 IPA 的 ITMS-90048 错误(#166367)
- macOS 15.4 模拟器的调试服务问题(#166333)
- iOS 设备 Hot Restart 延迟(#165656)
- iOS 18.5 Beta 字体粗细异常(#167343)
- iOS 输入框崩溃问题(#138464)
🐎 Default isolation with Swift 6.2
@DylanYang:本文作者通过 Swift 默认可见性的类比形象的为大家解释了默认隔离态 (Isolation) 的含义。修改默认隔离态是 Swift 6.2 新引入的特性,帮助开发者方便的修改一个模块默认的隔离态。原先模块默认的隔离态均为无隔离 (nonisolated),而通过修改默认隔离态,我们可以将一个模块的隔离态默认改为使用主线程隔离,相当于默认带上了 @MainActor
。不过作者随后也提到此修改有利有弊,大家实际使用时需要认真权衡。
代码
OpenAsyncImage
SwiftUI 的 AsyncImage
开源 backport:
- 最低支持 iOS 13
- 基于 iOS 18 的
State.wrappedValue
setter 进行优化 - 全平台统一一致的行为
内推
重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
关注我们
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
关注有礼,关注【老司机技术周报】,回复「2024」,领取 2024 及往年内参
同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
说明
🚧 表示需某工具,🌟 表示编辑推荐
预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)