我设计了一个受 Dieter Rams 启发的 iPhone 基座[1]

- • 法提赫·阿尔斯兰 (Fatih Arslan) 是一名软件工程师,也是博朗 (Braun) 的爱好者,他想要设计一款受迪特·拉姆斯 (Dieter Rams) 简约美学启发的 iPhone 基座。
- • 他特别喜欢博朗 DN 40 闹钟,但由于空间限制以及需要手表托盘和 MagSafe 充电器等额外物品,他发现很难将其融入现有的床边设置中。
- • 受到 YouTube 上展示 iPhone 待机模式的视频的启发,Fatih 决定创建一个集充电、计时和存储功能于一体的多功能底座。
- • 他从博朗 BC21 闹钟中汲取灵感,这是对 DN 40 设计原则的现代诠释。
- • 法提赫使用 3D 打印技术迭代了大量原型,改进了码头的形状、尺寸和功能。
- • 主要挑战包括:
- • 创建一个与整体设计无缝集成的 MagSafe 充电器支架。
- • 匹配 iPhone 独特的角落轮廓(G2 曲率),以实现更美观的贴合。
- • 设计一个舒适且符合人体工程学的托盘,用于放置手表和其他小物品。
- • 他加入了一个皮革托盘来保护贵重物品,并尝试了不同的配色方案,最终选择了一种让人联想到博朗 550 吹风机的鲜艳色调。
- • 最终的设计具有圆角、便于整齐管理电线的电缆槽以及与 Dieter Rams 的设计理念相呼应的简约美感。
- • 法提赫根据标准数字文件许可证免费提供 3D 模型,同时还为希望做出贡献的人创建了一个 Gumroad 页面。
1870 年,瑞利勋爵利用油和水来计算分子的大小[2]
富兰克林的观察: 本杰明·富兰克林注意到,将少量油倒入激流中,波浪便会平静下来。他详细记录了这一现象,但并未深入研究其分子含义。 瑞利的见解:一个多世纪后,瑞利勋爵重新审视了富兰克林的实验。他意识到,如果油以单层分子(单分子层)的形式展开,则该膜的厚度大致等于单个油分子的长度。
实验:
雷利仔细测量了少量的橄榄油(0.81毫克)。 他将这种油放在已知的水域并观察它如何扩散。 他精确测量了油膜覆盖的面积。 计算: 瑞利用油的体积除以其覆盖的面积。这给了他一个油膜厚度的估计值,他认为这代表单个油分子的长度。他的计算结果约为 1.63 纳米。
准确性:如今,我们知道三酰甘油(橄榄油的主要成分)的长度约为 1.67 纳米。这意味着 Rayleigh 的估计非常准确,误差仅为 2% 左右。
我们在 AMD GPU 上对 Llama 405B 进行了微调[3]
- • 使用 JAX 在 AMD MI300x GPU 上对 LLaMA 3.1(405B 参数)进行微调: 作者成功地在 AMD 硬件上对这个大规模语言模型进行了微调,证明了其作为 NVIDIA 替代品进行大规模 AI 训练的可行性。
- • LoRA(低秩自适应): 该技术用于高效微调 LLaMA 模型。LoRA 不会更新所有 4050 亿个参数,而是引入小型可训练的秩分解矩阵(lora_a 和 lora_b),并将其添加到原始冻结权重中。
- • JAX 的并行性和硬件无关性: JAX 强大的并行计算能力及其在不同硬件平台上运行的能力(包括支持 ROCm 的 AMD GPU)对该项目至关重要。
- • 参数分片: 为了将海量模型分布在 8 个 MI300x GPU 上,使用 JAX 的分区系统对 LoRA 参数(lora_a 和 lora_b)进行了仔细分片。
- •
lora_a:沿第一个轴(PS("fsdp", "mp"))进行分片,意味着每个 GPU 处理一部分行。 - •
lora_b:沿第二个轴(PS("mp", "fsdp"))进行分片,这意味着每个 GPU 处理一部分列。
- •
- • 训练效率: 训练期间仅更新 LoRA 参数,与更新所有 4050 亿个原始参数相比,显著减少了内存使用量并加快了训练速度。
- • 开源贡献: 作者鼓励其他人通过在 GitHub 上分享他们的代码来探索和利用这些技术。
铁电 RAM 芯片内部[4]
- • 铁电 RAM (FRAM) 是一种非易失性存储器,特别适合核能和航天等高辐射环境。
- • 尽管 FRAM 在其他领域仍有用途,但在航空航天应用中,它已被磁阻 RAM (MRAM) 大量取代。
- • 一位评论者分享了他们在嵌入式系统中使用 FRAM 的经验,强调了它的优势:
- • 几乎无限的写入周期,消除了磨损均衡的需要。
- • 恒定的访问时间,从而提高性能。
- • 由于缺少闪存转换层,简化了代码复杂性。
- • 出色的功率损耗处理能力。
- • 该评论者还提到在小批量或业余项目中使用 FRAM,其易用性超过了其成本。
- • 他们进一步讨论了德州仪器的 MSP430 微控制器,它采用 FRAM 代替 SRAM,从而实现真正的关机状态而不会丢失数据。
过去一年我开发 AI 视频编辑器的收获[5]
作者最初认为矢量数据库将成为信息检索的未来,因为 2023 年围绕矢量数据库的炒作。
然而,在使用嵌入和矢量数据库后,他们发现结果没有达到预期。
嵌入本质上是一种压缩技术,可将数据集的独特特征压缩为固定长度的向量。这些向量的质量在很大程度上取决于针对特定用例构建的嵌入空间的质量。
大多数人不会训练自己的嵌入模型,而是依赖通用的现成模型。这可能会导致比传统搜索方法更差的结果,因为通用模型可能无法捕捉特定应用所需的细微差别。
作者提供了一个构建歌曲搜索引擎的具体示例。他们发现,由于歌曲标题缺乏唯一性,简单的文本搜索效果不佳。通用嵌入模型也可能难以解决这个问题。
为了解决这个问题,他们整合了音乐排行榜数据,为之前排名靠前的歌曲增加了权重或偏差分数。这增强了他们的搜索系统,并提供了更好的初始结果。
作者强调,创造新事物充满挑战,而且经常会遇到意想不到的弯路。他们反思了创业的困难,并承认追求新想法的过程中存在不确定性。
跨架构可移植性问题概述[6]
- • 作者强调了跨架构可移植性在软件开发中的重要作用。
- • 他们利用使用 Gentoo Linux 发行版的经验来说明这一点。
- • 不同的计算机架构(例如 x86、ARM、PPC)具有独特的特性,这些特性可能会导致仅在特定架构上出现的细微错误。这些差异包括:
- • 字节顺序(字节顺序):大端系统和小端系统处理字节顺序的方式不同。
- • 堆栈帧大小:分配给函数调用的内存量可能因架构而异。
- • 指令集:不同的架构具有不同的指令集,这会影响代码兼容性。
- • 作者提供了使用 Gentoo 时遇到的可移植性问题的具体示例:
- • 由于有符号字符的意外行为,软件包仅在大端系统上出现故障。
- • 另一个包在 PPC64 上失败但在 PPC64LE 上运行正常,这表明可能存在字节顺序或堆栈溢出问题。
- • 尽管某些架构可能拥有较小的用户群,但作者认为优先考虑可移植性可以产生更高质量的代码,并有可能防止所有用户将来出现安全漏洞。
引用链接
[1] 我设计了一个受 Dieter Rams 启发的 iPhone 基座: arslan.io/2024/09/23/…
[2] 1870 年,瑞利勋爵利用油和水来计算分子的大小: www.atomsonly.news/p/franklin-…
[3] 我们在 AMD GPU 上对 Llama 405B 进行了微调: publish.obsidian.md/felafax/pag…
[4] 铁电 RAM 芯片内部: www.righto.com/2024/09/ram…
[5] 过去一年我开发 AI 视频编辑器的收获: www.makeartwithpython.com/blog/a-year…
[6] 跨架构可移植性问题概述: blogs.gentoo.org/mgorny/2024…