标签 HBM 下的文章

注1:本文系"每天一个多模态知识点"专栏文章。本专栏致力于对多模态大模型/CV领域的高频高难面试题进行深度拆解。本期攻克的难题是:FlashAttention

注2:本文Markdown源码可提供下载,详情见文末

关注"每天一个多模态知识点"公众号,每天一个知识点的深度解析!


知识点13 | FlashAttention深度攻略:从IO复杂度理论到CUDA kernel实现的完整解析

面试原题复现

面试官提问:

"请解释FlashAttention算法的核心思想,并分析它相比传统注意力算法在计算复杂度和内存复杂度上的差异。为什么它能在不牺牲精度的情况下显著提升性能?请从IO复杂度、Tiling算法和在线Softmax三个维度进行详细阐述。"

关键回答(The Hook)

核心直觉:

FlashAttention的核心突破在于从计算思维转向IO思维。传统注意力算法关注浮点运算数量(FLOPs),而FlashAttention认识到在现代GPU上,内存访问带宽才是真正的性能瓶颈。通过精心设计的IO-aware算法,FlashAttention将注意力计算从compute-bound转变为memory-bound场景下的性能杀手,在保持数学精确性的前提下,将HBM访问量从O(N²)降低到O(N),从而实现了2-4倍的端到端加速和显著的长序列处理能力提升。


深度原理解析(The Meat)

1. 硬件性能瓶颈分析

首先需要理解现代GPU的内存层次结构。以NVIDIA A100为例:

GPU内存层次结构

GPU内存层次(以A100为例):

  • HBM(高带宽内存): 40-80GB容量,带宽1.5-2.0 TB/s
  • SRAM(片上静态随机存取存储器): 每个SM约192KB,带宽约19 TB/s

关键洞察: SRAM的带宽是HBM的10倍以上,但容量仅为HBM的1/1000。FlashAttention的核心策略就是:尽可能将数据驻留在SRAM中完成计算,减少HBM的访问次数

2. 标准注意力实现的性能分析

标准注意力计算公式:

$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$

其中 $Q, K, V \in \mathbb{R}^{N \times d_k}$,N为序列长度,$d_k$为注意力头维度。

标准实现的内存访问模式:

# 标准注意力实现
def standard_attention(Q, K, V):
    # Step 1: 计算注意力矩阵 S = QK^T
    S = Q @ K.T  # O(N²d_k) FLOPs, O(N²) 内存
    # Step 2: 计算 softmax
    P = softmax(S)  # O(N²) 内存
    # Step 3: 加权求和
    O = P @ V  # O(N²d_k) FLOPs, O(N²) 内存
    return O

问题分析:

  1. 中间结果巨大: 注意力矩阵S和P都是N×N的,对于N=4096的序列,需要约67MB存储
  2. 多次HBM读写: 每个步骤都需要读写HBM,造成严重的带宽瓶颈
  3. 内存复杂度: 需要O(N² + Nd_k)的HBM访问

IO复杂度计算:

标准注意力需要:

  • 读取Q, K, V:$3Nd_k$ 次HBM访问
  • 写入和读取S:$2N^2$ 次HBM访问
  • 读取V和写入O:$Nd_k$ 次HBM访问

总计:Ω(N² + Nd_k) 次HBM访问

3. FlashAttention的核心创新:Tiling算法

FlashAttention通过分块策略,将整个注意力矩阵的计算分解为在SRAM中完成的小块计算:

FlashAttention分块架构

分块策略:

设块大小为$B_r$(行块)和$B_c$(列块),满足$B_r \cdot B_c \cdot d_k \leq \text{SRAM\_capacity}$

将Q, K, V分别划分为:

  • $Q = [Q_1, Q_2, ..., Q_{T_r}]$,其中 $Q_i \in \mathbb{R}^{B_r \times d_k}$
  • $K = [K_1, K_2, ..., K_{T_c}]$,其中 $K_j \in \mathbb{R}^{B_c \times d_k}$
  • $V = [V_1, V_2, ..., V_{T_c}]$,其中 $V_j \in \mathbb{R}^{B_c \times d_k}$

算法流程:

def flash_attention(Q, K, V):
    # 初始化
    O = zeros_like(Q)  # 输出矩阵
    m = -inf * ones(N)  # 每行的最大值
    l = zeros(N)  # 每行的指数和(归一化因子)
    
    # 外层循环:遍历K和V的块
    for j in range(T_c):
        K_block = K[j*B_c:(j+1)*B_c, :]
        V_block = V[j*B_c:(j+1)*B_c, :]
        
        # 内层循环:遍历Q的块
        for i in range(T_r):
            Q_block = Q[i*B_r:(i+1)*B_r, :]
            
            # 在SRAM中计算
            S_block = Q_block @ K_block.T  # B_r × B_c
            
            # 在线softmax更新
            m_new = max(m[i*B_r:(i+1)*B_r], rowmax(S_block))
            l_new = l[i*B_r:(i+1)*B_r] * exp(m[i*B_r:(i+1)*B_r] - m_new) + \
                     sum(exp(S_block - m_new), dim=1)
            
            # 缩放累加输出
            O[i*B_r:(i+1)*B_r, :] = O[i*B_r:(i+1)*B_r, :] * \
                                       exp(m[i*B_r:(i+1)*B_r] - m_new) + \
                                       softmax(S_block) @ V_block
            
            # 更新统计量
            m[i*B_r:(i+1)*B_r] = m_new
            l[i*B_r:(i+1)*B_r] = l_new
    
    # 最终归一化
    O = O / l.reshape(-1, 1)
    return O

关键优势:

  1. 避免存储完整的注意力矩阵: 仅在SRAM中计算小块的注意力得分
  2. 减少HBM访问: 每个块只加载一次到SRAM,完成所有计算
  3. 精确计算: 通过在线softmax技巧,保证数学等价性

4. 在线Softmax的数学推导

这是FlashAttention最精妙的数学创新。传统softmax需要先知道全局最大值,而分块计算打破了这一依赖。

传统softmax:

$$\text{softmax}(x)_i = \frac{\exp(x_i)}{\sum_j \exp(x_j)}$$

数值稳定版本:

$$\text{softmax}(x)_i = \frac{\exp(x_i - \max_j x_j)}{\sum_j \exp(x_j - \max_j x_j)}$$

在线softmax推导:

假设已经处理了前j-1个块,已知:

  • $m_{j-1} = \max_{k=1}^{j-1} x_k$(前j-1个块的全局最大值)
  • $l_{j-1} = \sum_{k=1}^{j-1} \exp(x_k - m_{j-1})$(归一化因子)

现在处理第j个块,得到局部统计量:

  • $m_{local}^{(j)} = \max_{k \in \text{block}_j} x_k$
  • $l_{local}^{(j)} = \sum_{k \in \text{block}_j} \exp(x_k - m_{local}^{(j)})$

更新全局统计量:

新的全局最大值:
$$m_j = \max(m_{j-1}, m_{local}^{(j)})$$

新的归一化因子需要将前j-1个块的结果缩放到新的最大值下:

$$l_j = \sum_{k=1}^{j} \exp(x_k - m_j) = \sum_{k=1}^{j-1} \exp(x_k - m_j) + \sum_{k \in \text{block}_j} \exp(x_k - m_j)$$

利用指数的性质:

$$\sum_{k=1}^{j-1} \exp(x_k - m_j) = \sum_{k=1}^{j-1} \exp(x_k - m_{j-1}) \cdot \exp(m_{j-1} - m_j) = l_{j-1} \cdot \exp(m_{j-1} - m_j)$$

$$\sum_{k \in \text{block}_j} \exp(x_k - m_j) = \sum_{k \in \text{block}_j} \exp(x_k - m_{local}^{(j)}) \cdot \exp(m_{local}^{(j)} - m_j) = l_{local}^{(j)} \cdot \exp(m_{local}^{(j)} - m_j)$$

最终更新公式:

$$l_j = l_{j-1} \cdot \exp(m_{j-1} - m_j) + l_{local}^{(j)} \cdot \exp(m_{local}^{(j)} - m_j)$$

Softmax算法可视化

输出累积更新:

对于输出$O = \sum_i \text{softmax}(x_i) V_i$,同样需要在线更新:

$$O_{j} = O_{j-1} \cdot \frac{l_{j-1}}{l_j} \cdot \exp(m_{j-1} - m_j) + \text{softmax}_{local}^{(j)} \cdot V_{local}^{(j)}$$

这个技巧保证了分块计算的数值稳定性和数学精确性。

5. IO复杂度分析

FlashAttention的IO复杂度:

每个Q块需要遍历所有K/V块,因此:

  • HBM访问次数:$T_r \times T_c \times B_r \times d_k = N \times T_c \times d_k$

其中 $T_c = N / B_c$,块大小 $B_c \times B_r \approx M/d_k$(M为SRAM容量)

因此:
$$\text{HBM访问} = N \times \frac{N}{B_c} \times d_k = \frac{N^2 d_k^2}{M}$$

对比:

算法IO复杂度典型参数下的性能
标准注意力Ω(N² + Nd_k)基准
FlashAttentionO(N²d_k²/M)减少2-4倍HBM访问

对于典型参数:$d_k = 64$,$M = 192$KB:
$$\frac{N^2 d_k^2}{M} \approx \frac{N^2 \times 4096}{192 \times 1024} \approx 0.02 N^2$$

这解释了FlashAttention为何能实现如此显著的加速。

6. 反向传播的重计算策略

传统注意力需要存储中间结果用于反向传播:

$$\frac{\partial L}{\partial Q} = \left(\frac{\partial L}{\partial O} \cdot V^T - \sum_j P_{ij} \frac{\partial L}{\partial O}_{ij}\right) \cdot P \cdot \frac{1}{\sqrt{d_k}}$$

这需要存储完整的注意力矩阵P(O(N²)内存)。

FlashAttention的反向传播优化:

在正向传播中,只存储:

  • 输出矩阵O:O(Nd_k)
  • Softmax统计量m和l:O(2N)

反向传播时,重新计算注意力矩阵,而不是从HBM读取。虽然增加了计算量(2×FLOPs),但由于避免了O(N²)的HBM读取,反而更快

面试追问: 为什么重计算反而更快?

因为GPU的浮点运算速度远快于内存访问速度。以A100为例:

  • FP16矩阵乘法:312 TFLOPs/s
  • FP32浮点运算:19.5 TFLOPs/s
  • HBM带宽:1.5 TB/s

重计算增加的计算开销远小于减少的HBM访问开销。

7. 算子融合优化

FlashAttention将以下四个步骤融合为一个CUDA kernel:

  1. QK^T矩阵乘法
  2. Softmax计算(含掩码、Dropout)
  3. 与V矩阵乘法
  4. 激活函数等后处理

融合的优势:

  • 避免中间结果的HBM读写
  • 减少kernel launch开销
  • 充分利用Tensor Core
  • 提高数据局部性

代码手撕环节(Live Coding)

FlashAttention核心实现

import torch
import math

class FlashAttention(torch.nn.Module):
    def __init__(self, head_dim, block_size=128):
        super().__init__()
        self.head_dim = head_dim
        self.block_size = block_size
        self.scale = head_dim ** -0.5
        
    def forward(self, q, k, v, causal_mask=False):
        """
        q, k, v: (batch_size, seq_len, num_heads, head_dim)
        输出: (batch_size, seq_len, num_heads, head_dim)
        """
        batch_size, seq_len, num_heads, head_dim = q.shape
        
        # 重塑为 (batch_size * num_heads, seq_len, head_dim)
        q = q.transpose(1, 2).contiguous()
        k = k.transpose(1, 2).contiguous()
        v = v.transpose(1, 2).contiguous()
        
        q = q.view(-1, seq_len, head_dim)
        k = k.view(-1, seq_len, head_dim)
        v = v.view(-1, seq_len, head_dim)
        
        # 初始化输出和统计量
        o = torch.zeros_like(q)
        m = torch.full((q.shape[0], q.shape[1]), float('-inf'), 
                       device=q.device, dtype=q.dtype)
        l = torch.zeros((q.shape[0], q.shape[1]), 
                       device=q.device, dtype=torch.float32)
        
        # 分块计算
        num_blocks = (seq_len + self.block_size - 1) // self.block_size
        
        for i in range(num_blocks):
            start_i, end_i = i * self.block_size, min((i + 1) * self.block_size, seq_len)
            q_block = q[:, start_i:end_i, :]  # (B, B_r, d)
            
            for j in range(num_blocks):
                start_j, end_j = j * self.block_size, min((j + 1) * self.block_size, seq_len)
                
                # 因果掩码
                if causal_mask and j > i:
                    continue
                
                k_block = k[:, start_j:end_j, :]  # (B, B_c, d)
                v_block = v[:, start_j:end_j, :]  # (B, B_c, d)
                
                # 在SRAM中计算注意力分数 (B, B_r, B_c)
                s_block = torch.matmul(q_block, k_block.transpose(-2, -1)) * self.scale
                
                # 因果掩码(如果需要)
                if causal_mask:
                    mask = torch.triu(torch.ones(s_block.shape[1], s_block.shape[2]), 
                                     diagonal=1).bool().to(s_block.device)
                    s_block = s_block.masked_fill(mask, float('-inf'))
                
                # 在线softmax更新
                m_new = torch.maximum(m[:, start_i:end_i], s_block.max(dim=-1).values)
                l_new = l[:, start_i:end_i] * torch.exp(m[:, start_i:end_i] - m_new) + \
                        torch.exp(s_block - m_new.unsqueeze(-1)).sum(dim=-1)
                
                # 更新输出
                o[:, start_i:end_i, :] = o[:, start_i:end_i, :] * torch.exp(
                    m[:, start_i:end_i] - m_new).unsqueeze(-1) + \
                    torch.exp(s_block - m_new.unsqueeze(-1)).unsqueeze(-1) * v_block.unsqueeze(1)
                
                # 更新统计量
                m[:, start_i:end_i] = m_new
                l[:, start_i:end_i] = l_new
        
        # 最终归一化
        o = o / l.unsqueeze(-1)
        
        # 重塑回原始形状
        o = o.view(batch_size, num_heads, seq_len, head_dim)
        o = o.transpose(1, 2).contiguous()
        
        return o

# 使用示例
if __name__ == "__main__":
    batch_size = 2
    seq_len = 512
    num_heads = 8
    head_dim = 64
    
    q = torch.randn(batch_size, seq_len, num_heads, head_dim, 
                   device='cuda', dtype=torch.float16)
    k = torch.randn(batch_size, seq_len, num_heads, head_dim, 
                   device='cuda', dtype=torch.float16)
    v = torch.randn(batch_size, seq_len, num_heads, head_dim, 
                   device='cuda', dtype=torch.float16)
    
    flash_attn = FlashAttention(head_dim=head_dim, block_size=128).cuda()
    output = flash_attn(q, k, v, causal_mask=True)
    
    print(f"输出形状: {output.shape}")  # 应为 (2, 512, 8, 64)

标准注意力对比

def standard_attention(q, k, v, causal_mask=False):
    """
    标准注意力实现(用于对比)
    """
    scores = torch.matmul(q, k.transpose(-2, -1)) / math.sqrt(q.shape[-1])
    
    if causal_mask:
        mask = torch.triu(torch.ones(scores.shape[-2], scores.shape[-1]), 
                        diagonal=1).bool().to(scores.device)
        scores = scores.masked_fill(mask, float('-inf'))
    
    attn_weights = torch.softmax(scores, dim=-1)
    output = torch.matmul(attn_weights, v)
    
    return output

# 验证数值等价性
def test_equivalence():
    # 创建小规模测试数据
    batch_size, seq_len, num_heads, head_dim = 2, 64, 4, 32
    
    q = torch.randn(batch_size, seq_len, num_heads, head_dim, 
                   dtype=torch.float32, requires_grad=True)
    k = torch.randn(batch_size, seq_len, num_heads, head_dim, 
                   dtype=torch.float32, requires_grad=True)
    v = torch.randn(batch_size, seq_len, num_heads, head_dim, 
                   dtype=torch.float32, requires_grad=True)
    
    # FlashAttention
    flash_attn = FlashAttention(head_dim=head_dim, block_size=32)
    flash_output = flash_attn(q, k, v, causal_mask=True)
    
    # 标准注意力
    q_std = q.transpose(1, 2)
    k_std = k.transpose(1, 2)
    v_std = v.transpose(1, 2)
    std_output = standard_attention(q_std, k_std, v_std, causal_mask=True).transpose(1, 2)
    
    # 比较数值
    diff = (flash_output - std_output).abs().max()
    print(f"最大数值差异: {diff.item()}")
    
    # 应该小于1e-5(允许数值误差)
    assert diff < 1e-5, f"数值差异过大: {diff}"
    
    print("✓ FlashAttention与标准注意力数值等价")

test_equivalence()

进阶追问与展望

1. 面试官可能的深度追问

追问1:FlashAttention-2相比FlashAttention-1有哪些改进?

回答要点:

  • 减少非matmul FLOPs: 优化了在线softmax的实现,减少缩放操作
  • 改进并行策略: 在序列维度上并行,提高GPU利用率
  • 优化工作负载分配: 从split-K改为split-Q,减少共享内存通信

追问2:FlashAttention的局限性和改进方向?

局限性:

  • 不适用于序列长度极大的情况(如N > 10^6)
  • 对硬件有特定要求,需要足够的SRAM
  • 实现复杂度高,需要精细的CUDA优化

改进方向:

  • FlashAttention-2/3: 进一步优化并行策略和硬件适配
  • Sparse FlashAttention: 结合稀疏注意力,处理超长序列
  • 硬件协同设计: 为特定GPU架构定制优化

追问3:如何选择最优的块大小?

考虑因素:

  • SRAM容量限制
  • GPU利用率
  • 寄存器压力
  • 共享内存bank冲突

经验法则:

$$B_{optimal} \approx \sqrt{\frac{M}{d_k \times 4}}$$

其中4是考虑数据类型(float16)和额外的存储开销。

2. 与其他优化方法的对比

方法核心思想精度适用场景
FlashAttentionIO-aware tiling + 在线softmax精确通用长序列处理
Linear Attention低秩近似近似超长序列(N > 10^5)
Sparse Attention结构化稀疏模式近似长序列 + 局部依赖
ReformerLocality Sensitive Hashing近似大规模序列建模
Performer随机特征近似近似理论研究、小规模应用

3. 前沿研究方向

当前热点:

  1. FlashAttention-3: 针对H100架构的深度优化,利用新的硬件特性
  2. 异步计算: 将计算与内存传输重叠,进一步提高吞吐量
  3. 混合精度优化: 结合FP8等低精度格式,进一步提升性能
  4. 多模态应用: 扩展到视觉-语言多模态注意力计算

应用前景:

  • 超大规模语言模型训练(GPT-4级别)
  • 长文档理解与问答
  • 实时视频处理
  • 生物学序列分析(如蛋白质折叠)

面试避坑指南

常见错误1: 认为FlashAttention是近似算法

纠正: FlashAttention是精确算法,它不进行任何近似,通过精确的数学推导保证与标准注意力数值等价。

常见错误2: 忽略IO复杂度,只谈论FLOPs

纠正: 现代GPU上,IO瓶颈往往比计算瓶颈更严重。FlashAttention的核心贡献是将注意力算法的设计焦点从FLOPs转向IO复杂度。

常见错误3: 混淆Tiling和Block-Sparse Attention

纠正: Tiling是实现技巧,用于减少内存访问;Block-Sparse是算法近似,用于降低计算复杂度。FlashAttention使用Tiling但不进行近似。

常见错误4: 认为重计算总是更慢

纠正: 在计算密集型和内存受限的场景下,重计算可能更快,因为避免了昂贵的内存访问。


总结与展望

FlashAttention代表了深度学习算法设计的范式转变:从单纯追求计算效率到统筹考虑硬件特性的系统级优化。它不仅仅是一个算法改进,更是算法-硬件协同设计的典范。

核心价值:

  1. 理论突破: 引入IO复杂度分析,建立新的算法评价标准
  2. 工程创新: Tiling + 在线softmax + 算子融合的组合优化
  3. 实用价值: 在保持精度的前提下,显著提升实际训练和推理性能
  4. 方法论影响: 启发了后续IO-aware算法的研究方向

面试要点回顾:

  • 理解GPU内存层次结构和性能瓶颈
  • 掌握Tiling算法的核心思想
  • 能够推导在线softmax的更新公式
  • 理解IO复杂度分析方法
  • 清晰对比FlashAttention与传统注意力的差异
  • 了解FlashAttention-2/3的改进方向

FlashAttention的成功证明了:优秀的算法设计需要深入理解硬件特性,在数学理论和工程实现之间找到最佳平衡点。 这也是系统AI研究的重要方向。


参考文献

  1. Dao, T., Fu, D. Y., Ermon, S., Rudra, A., & Ré, C. (2022). FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness. NeurIPS 2022.
  2. Dao, T. (2023). FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning.
  3. Saha, B., & Ye, C. (2024). The I/O Complexity of Attention, or How Optimal is Flash Attention?
  4. NVIDIA A100 GPU Architecture Whitepaper
  5. Hong, S., & Kim, H. (2020). An Analysis of Deep Learning Neural Networks with PyTorch.

谢谢阅读~

关注"每天一个多模态知识点"公众号,回复"FlashAttention"即可下载本文markdown源码

本文由mdnice多平台发布

SK 海力士称并未有计划退出消费级存储器市场

针对近日市场流传的「SK 海力士计划停产消费级存储器」相关消息,SK 海力士向界面新闻记者表示,公司目前未探讨或规划退出消费者用产品事业,相关说法并不准确。

SK 海力士在去年披露的内部会议中指出,大宗 DRAM 产能增长将趋于有限,难以追上持续攀升的需求,可能进一步推高内存价格。根据消息人士 BullsLab 分享的会议 PPT,SK 海力士预测,除高带宽内存(HBM)和 SOCAMM 模块外,大宗 DRAM 在 2028 年以前的产能增长都将受到限制。其主要原因在于主流内存厂商逐步将更多产能资源转向 AI 相关需求,消费级市场获得的产能分配增幅并不明显。来源


市场监管总局依法对携程集团有限公司立案调查

近日,市场监管总局根据前期核查,依据《中华人民共和国反垄断法》,对携程集团有限公司涉嫌滥用市场支配地位实施垄断行为立案调查。来源

携程表示

近日,携程接到国家市场监管总局通知,依法对携程涉嫌垄断行为进行立案调查。公司将积极配合监管部门调查,全面落实监管要求,与行业各方携手共建可持续发展的市场环境。目前,公司各项业务均正常运行,将一如既往地为广大用户和合作伙伴提供优质的服务。


影石发布网络摄像头 Link 2 Pro 系列

影石旗舰网络摄像头 Link 2 Pro 系列于 1 月 14 日正式发布。

Link 2 Pro 系列包含影石 Insta360 Link 2 Pro 与 Link 2C Pro 两个型号,均采用 1 / 1.3 英寸大底传感器,支持 4K 超高清分辨率,影石 Link 2 Pro 系列适合夜间或光线不足的室内会议与直播场景。Link 2 Pro 系列还引入了双原生 ISO 技术,并针对 HDR 模式优化;同时内置指向性麦克风,在开放式工位或户外嘈杂环境下也能实现清晰收音。其他细节上,Insta360 Link 2 Pro 自带跟踪云台,而 Link 2C Pro 则为固定支架。

RETqbZ8fsoQIVDxb3SnchCWPnig

在功能方面,Link 2 Pro 系列支持 Link Controller,通过 AI 算法实现主体与背景分离,可获得接近单反效果的自然景深。产品还配备 AI 追踪与双轴云台,支持自动构图,可与 Wave 稳定器实现无缝连接,并支持自动识别发言人等功能。

售价方面,影石 Insta360 Link 2 Pro 起售价格为 1758 元;影石 Insta360 Link 2C Pro 起售价格为 1398 元。来源


Google Chrome 浏览器将重新支持 JPEG-XL 图像格式

Google 于 1 月 13 日将 JPEG-XL 图像格式重新集成至 Chromium 浏览器内核。该功能基于 Rust 语言编写的安全解码器 jxl-rs 实现,以满足 Chromium 的安全要求。目前,JPEG-XL 支持默认处于关闭状态,用户需在 chrome://flags 页面中启用 #enable-jxl-image-format 选项后方可使用。

Chromium 曾在早期版本中支持 JPEG-XL。但 Google 于 2022 年随 Chrome 110 更新移除了该格式支持,理由是采用该格式的网站数量有限。此后,Google 将重点转向推动 AVIF 图像格式的普及。

值得注意的是,PDF 协会在去年年底将 JPEG-XL 指定为 PDF 文件中嵌入 HDR 图像的首选格式。来源


Apple 确认 iOS 版 Pixelmator 停更

Apple 于 1 月 13 日发布 iPad 版 Pixelmator Pro 及 Apple Creator Studio 订阅服务。同时,Apple 也在官网底部的问答(Q&A)板块披露了现有 iOS 版 Pixelmator 与 Photomator 两款应用的后续规划。

Apple 明确表示,Pixelmator 将不再获得更新。该应用目前仍保留裁剪、调色和特效等基础图像编辑功能,用户可继续正常使用。另一款应用 Photomator 将继续作为独立商品在 App Store 上架,并有望在未来获得持续的功能更新与支持。来源


瀚斯宝丽推出 Lumo 阅读平板

Hannspree(瀚斯宝丽)于 1 月 14 日发布 Lumo 阅读平板。该产品面向低功耗阅读场景,采用 7.8 英寸反射式 LCD 屏幕,不配备背光,通过环境光反射实现接近墨水屏的显示效果。

UDVjbWL8xoFfMtxnlY7cxTf3nSf

在硬件规格方面,Lumo 配备分辨率为 1024 × 768、刷新率 60 Hz 的显示面板,搭载联发科 Helio G99 处理器,内置 3000 毫安时电池,并提供 5 MP 前置摄像头和 8 MP 后置摄像头。

为提升暗光环境下的使用体验,Hannspree 为该机提供可选的前置补光灯配件。官方数据显示,在补光灯开启且亮度调至最高的情况下,设备仍可实现约 6.5 小时续航。价格方面,Hannspree Lumo 为 369 欧元。来源


佳明发布 quatix 8 Pro 航海智能手表

佳明于 1 月 13 日发布旗舰级航海智能手表 quatix 8 Pro。该产品面向远洋及专业航海场景,集成 inReach 卫星通信技术与 LTE 蜂窝网络模块,旨在缓解海上环境中常见的通信与信号覆盖问题。

S2UPbSd5Goawtxxv4CtcNXKbnye

官方表示,即便用户身处离岸约 50 英里(约 80.5 公里)的海域,quatix 8 Pro 也可在不依赖手机的情况下完成短信收发、语音通话及查看实时天气信息。手表内置 SOS 紧急求救功能,遇到突发情况时,用户可直接通过设备向 24 小时值守的 Garmin Response 应急响应中心发送求救信号。

在软件层面,佳明为 quatix 8 Pro 引入船载模式(Boat Mode)。当系统识别用户处于航海环境时,会将自动驾驶仪控制、拖钓马达状态及船舶数据等功能置于优先位置;上岸后,界面将切换回以日常应用和健康数据为主的布局,来适应办公或运动等使用场景。

硬件方面,quatix 8 Pro 采用 47 mm 钛金属表圈与蓝宝石玻璃镜面,配备 1.4 英寸高亮度 AMOLED 显示屏。在智能手表模式下,电池续航时间最长可达 15 天。除航海相关功能外,该设备还支持全天候健康监测、Garmin Pay 非接触式支付,并内置超过 100 种运动模式,涵盖尾波冲浪、滑水等水上项目。佳明表示,quatix 8 Pro 计划于 2026 年 1 月 16 日上市,起售价为 1299.99 美元。来源


宜家推出 Kallsup 蓝牙音箱

宜家在 CES 2026 展会期间发布 Kallsup 便携式蓝牙音箱。该产品采用立方体造型设计,主打低价与便携特性,机身尺寸约为 70 × 70 × 70 毫米,使用塑料外壳,底部配备防滑脚垫,适合随身携带或桌面使用。

Ye2FbCIy4oY4zFxLfJ5cZW7znAg

在配色方面,Kallsup 提供亮粉色、亮绿色和白色三种选择。连接规格上,音箱支持蓝牙 5.3,并引入「广播模式」。官方称,该模式下最多可同时无线连接 100 台 Kallsup 音箱,以扩展播放覆盖范围。

机身仅配备电源和蓝牙配对两枚实体按键,并通过声音提示反馈操作状态。续航方面,Kallsup 内置可充电电池,采用 USB-C 接口充电。官方数据显示,在 50 % 音量条件下可连续播放约 9 小时。宜家表示,Kallsup 计划于 2026 年 4 月上市,售价为 10 美元。来源


智谱联合华为开源首个国产芯片训练的多模态 SOTA 模型 GLM-Image

智谱于 1 月 14 日宣布联合华为开源新一代图像生成模型 GLM-Image。该模型基于昇腾 Atlas 800T A2 计算设备与昇思 MindSpore AI 框架,完成从数据处理到模型训练的全流程开发。智谱表示,GLM-Image 是首个在国产 AI 芯片平台上完成全程训练的 SOTA 多模态模型。

在模型结构上,GLM-Image 采用自研的「自回归 + 扩散解码器」混合架构,实现图像生成模型与语言模型的联合建模。通过优化 Tokenizer 设计,模型可自适应处理不同分辨率输入,原生支持从 1024 × 1024 到 2048 × 2048 尺寸、任意比例的图像生成任务,无需针对分辨率单独训练。

在应用表现方面,智谱介绍称,GLM-Image 在包含复杂逻辑关系和文字说明的图像生成任务中表现稳定,适用于科普插画、原理示意图等场景。在电商图片、多格漫画等内容创作中,模型能够在多张图像之间保持主体与风格一致,并提升文字生成的准确性。此外,该模型也适用于社交媒体封面、海报及商业宣传图等版式较为复杂的视觉内容生成。

除文字与版式相关任务外,GLM-Image 还支持人像、宠物、风景及静物等不同题材和景别的图像生成。该模型目前已经在 GitHubHugging Face 以及魔搭社区开源发布。


看看就行的小道消息

  • 近日,一款新奇的 App 「死了么」登顶国区 App Store 付费 App 排行榜榜首。App 团队基于目前 App 在海外也赢得爆发式增长的情况下,决策正式将 App 全球化品牌名更新为「Demumu」。与此同时,官方团队昨晚发布社交媒体信息,诚邀网友提供更有创意的中文名。来源
  • 据央视新闻报道,当地时间 1 月 13 日,美国政府批准英伟达向中国出口 H200 人工智能芯片。该决定预计将恢复 H200 芯片对中国客户的出货。此前,美国总统特朗普已通过社交媒体表示,美方将允许英伟达对华销售 H200 芯片。相关销售由美国商务部负责审批及安全审查。同时,美方还将从相关交易中收取约 25 % 的费用。在其他相关信息方面,英伟达发言人此前在接受《环球时报》采访时表示,合规向中国授权客户销售 H200 芯片,不会影响公司对全球其他市场的供货能力。另据腾讯科技援引知情人士消息,英伟达 H200 的 8 卡模组渠道单价约为 140 万元,价格高于 H20。从性能密度(TPP)来看,H200 的算力值达到 15832,约为 H20 的 6.7 倍。来源
  • 据路透社报道,据多名知情人士披露,中国海关部门已于本周通知相关关员,不允许进口英伟达 H200 人工智能芯片。同时,中国政府官员召集国内科技企业开会,明确要求企业原则上不得采购 H200 芯片,除非存在不可替代的必要性。相关指示未说明具体原因,也未明确属于正式禁令还是临时措施。目前也暂不清楚,已下订单的 H200 芯片是否受到影响。来源


少数派的近期动态

  • 年末「夯」一下!少数派 2025 年度盘点正式上线
  • 少数派会员年终福利来袭,引荐比例限时上调至 15%,邀请好友享 85 折入会优惠。参与活动
  • 好玩又实用,还有迪士尼授权配件可选,少数派「扭扭宝」充电宝火爆开售。来一个试试
  • GAMEBABY for iPhone 17 Pro & 17 Pro Max 系列现已上市。进一步了解
  • 《蓝皮书》系列新版上架,一起探索全新 iOS 和 macOS 的精彩。试读并选购

你可能错过的好文章

> 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验 📰

> 实用、好用的 正版软件,少数派为你呈现 🚀

    SK 海力士称并未有计划退出消费级存储器市场

    针对近日市场流传的「SK 海力士计划停产消费级存储器」相关消息,SK 海力士向界面新闻记者表示,公司目前未探讨或规划退出消费者用产品事业,相关说法并不准确。

    SK 海力士在去年披露的内部会议中指出,大宗 DRAM 产能增长将趋于有限,难以追上持续攀升的需求,可能进一步推高内存价格。根据消息人士 BullsLab 分享的会议 PPT,SK 海力士预测,除高带宽内存(HBM)和 SOCAMM 模块外,大宗 DRAM 在 2028 年以前的产能增长都将受到限制。其主要原因在于主流内存厂商逐步将更多产能资源转向 AI 相关需求,消费级市场获得的产能分配增幅并不明显。来源


    市场监管总局依法对携程集团有限公司立案调查

    近日,市场监管总局根据前期核查,依据《中华人民共和国反垄断法》,对携程集团有限公司涉嫌滥用市场支配地位实施垄断行为立案调查。来源

    携程表示

    近日,携程接到国家市场监管总局通知,依法对携程涉嫌垄断行为进行立案调查。公司将积极配合监管部门调查,全面落实监管要求,与行业各方携手共建可持续发展的市场环境。目前,公司各项业务均正常运行,将一如既往地为广大用户和合作伙伴提供优质的服务。


    影石发布网络摄像头 Link 2 Pro 系列

    影石旗舰网络摄像头 Link 2 Pro 系列于 1 月 14 日正式发布。

    Link 2 Pro 系列包含影石 Insta360 Link 2 Pro 与 Link 2C Pro 两个型号,均采用 1 / 1.3 英寸大底传感器,支持 4K 超高清分辨率,影石 Link 2 Pro 系列适合夜间或光线不足的室内会议与直播场景。Link 2 Pro 系列还引入了双原生 ISO 技术,并针对 HDR 模式优化;同时内置指向性麦克风,在开放式工位或户外嘈杂环境下也能实现清晰收音。其他细节上,Insta360 Link 2 Pro 自带跟踪云台,而 Link 2C Pro 则为固定支架。

    RETqbZ8fsoQIVDxb3SnchCWPnig

    在功能方面,Link 2 Pro 系列支持 Link Controller,通过 AI 算法实现主体与背景分离,可获得接近单反效果的自然景深。产品还配备 AI 追踪与双轴云台,支持自动构图,可与 Wave 稳定器实现无缝连接,并支持自动识别发言人等功能。

    售价方面,影石 Insta360 Link 2 Pro 起售价格为 1758 元;影石 Insta360 Link 2C Pro 起售价格为 1398 元。来源


    Google Chrome 浏览器将重新支持 JPEG-XL 图像格式

    Google 于 1 月 13 日将 JPEG-XL 图像格式重新集成至 Chromium 浏览器内核。该功能基于 Rust 语言编写的安全解码器 jxl-rs 实现,以满足 Chromium 的安全要求。目前,JPEG-XL 支持默认处于关闭状态,用户需在 chrome://flags 页面中启用 #enable-jxl-image-format 选项后方可使用。

    Chromium 曾在早期版本中支持 JPEG-XL。但 Google 于 2022 年随 Chrome 110 更新移除了该格式支持,理由是采用该格式的网站数量有限。此后,Google 将重点转向推动 AVIF 图像格式的普及。

    值得注意的是,PDF 协会在去年年底将 JPEG-XL 指定为 PDF 文件中嵌入 HDR 图像的首选格式。来源


    Apple 确认 iOS 版 Pixelmator 停更

    Apple 于 1 月 13 日发布 iPad 版 Pixelmator Pro 及 Apple Creator Studio 订阅服务。同时,Apple 也在官网底部的问答(Q&A)板块披露了现有 iOS 版 Pixelmator 与 Photomator 两款应用的后续规划。

    Apple 明确表示,Pixelmator 将不再获得更新。该应用目前仍保留裁剪、调色和特效等基础图像编辑功能,用户可继续正常使用。另一款应用 Photomator 将继续作为独立商品在 App Store 上架,并有望在未来获得持续的功能更新与支持。来源


    瀚斯宝丽推出 Lumo 阅读平板

    Hannspree(瀚斯宝丽)于 1 月 14 日发布 Lumo 阅读平板。该产品面向低功耗阅读场景,采用 7.8 英寸反射式 LCD 屏幕,不配备背光,通过环境光反射实现接近墨水屏的显示效果。

    UDVjbWL8xoFfMtxnlY7cxTf3nSf

    在硬件规格方面,Lumo 配备分辨率为 1024 × 768、刷新率 60 Hz 的显示面板,搭载联发科 Helio G99 处理器,内置 3000 毫安时电池,并提供 5 MP 前置摄像头和 8 MP 后置摄像头。

    为提升暗光环境下的使用体验,Hannspree 为该机提供可选的前置补光灯配件。官方数据显示,在补光灯开启且亮度调至最高的情况下,设备仍可实现约 6.5 小时续航。价格方面,Hannspree Lumo 为 369 欧元。来源


    佳明发布 quatix 8 Pro 航海智能手表

    佳明于 1 月 13 日发布旗舰级航海智能手表 quatix 8 Pro。该产品面向远洋及专业航海场景,集成 inReach 卫星通信技术与 LTE 蜂窝网络模块,旨在缓解海上环境中常见的通信与信号覆盖问题。

    S2UPbSd5Goawtxxv4CtcNXKbnye

    官方表示,即便用户身处离岸约 50 英里(约 80.5 公里)的海域,quatix 8 Pro 也可在不依赖手机的情况下完成短信收发、语音通话及查看实时天气信息。手表内置 SOS 紧急求救功能,遇到突发情况时,用户可直接通过设备向 24 小时值守的 Garmin Response 应急响应中心发送求救信号。

    在软件层面,佳明为 quatix 8 Pro 引入船载模式(Boat Mode)。当系统识别用户处于航海环境时,会将自动驾驶仪控制、拖钓马达状态及船舶数据等功能置于优先位置;上岸后,界面将切换回以日常应用和健康数据为主的布局,来适应办公或运动等使用场景。

    硬件方面,quatix 8 Pro 采用 47 mm 钛金属表圈与蓝宝石玻璃镜面,配备 1.4 英寸高亮度 AMOLED 显示屏。在智能手表模式下,电池续航时间最长可达 15 天。除航海相关功能外,该设备还支持全天候健康监测、Garmin Pay 非接触式支付,并内置超过 100 种运动模式,涵盖尾波冲浪、滑水等水上项目。佳明表示,quatix 8 Pro 计划于 2026 年 1 月 16 日上市,起售价为 1299.99 美元。来源


    宜家推出 Kallsup 蓝牙音箱

    宜家在 CES 2026 展会期间发布 Kallsup 便携式蓝牙音箱。该产品采用立方体造型设计,主打低价与便携特性,机身尺寸约为 70 × 70 × 70 毫米,使用塑料外壳,底部配备防滑脚垫,适合随身携带或桌面使用。

    Ye2FbCIy4oY4zFxLfJ5cZW7znAg

    在配色方面,Kallsup 提供亮粉色、亮绿色和白色三种选择。连接规格上,音箱支持蓝牙 5.3,并引入「广播模式」。官方称,该模式下最多可同时无线连接 100 台 Kallsup 音箱,以扩展播放覆盖范围。

    机身仅配备电源和蓝牙配对两枚实体按键,并通过声音提示反馈操作状态。续航方面,Kallsup 内置可充电电池,采用 USB-C 接口充电。官方数据显示,在 50 % 音量条件下可连续播放约 9 小时。宜家表示,Kallsup 计划于 2026 年 4 月上市,售价为 10 美元。来源


    智谱联合华为开源首个国产芯片训练的多模态 SOTA 模型 GLM-Image

    智谱于 1 月 14 日宣布联合华为开源新一代图像生成模型 GLM-Image。该模型基于昇腾 Atlas 800T A2 计算设备与昇思 MindSpore AI 框架,完成从数据处理到模型训练的全流程开发。智谱表示,GLM-Image 是首个在国产 AI 芯片平台上完成全程训练的 SOTA 多模态模型。

    在模型结构上,GLM-Image 采用自研的「自回归 + 扩散解码器」混合架构,实现图像生成模型与语言模型的联合建模。通过优化 Tokenizer 设计,模型可自适应处理不同分辨率输入,原生支持从 1024 × 1024 到 2048 × 2048 尺寸、任意比例的图像生成任务,无需针对分辨率单独训练。

    在应用表现方面,智谱介绍称,GLM-Image 在包含复杂逻辑关系和文字说明的图像生成任务中表现稳定,适用于科普插画、原理示意图等场景。在电商图片、多格漫画等内容创作中,模型能够在多张图像之间保持主体与风格一致,并提升文字生成的准确性。此外,该模型也适用于社交媒体封面、海报及商业宣传图等版式较为复杂的视觉内容生成。

    除文字与版式相关任务外,GLM-Image 还支持人像、宠物、风景及静物等不同题材和景别的图像生成。该模型目前已经在 GitHubHugging Face 以及魔搭社区开源发布。


    看看就行的小道消息

    • 近日,一款新奇的 App 「死了么」登顶国区 App Store 付费 App 排行榜榜首。App 团队基于目前 App 在海外也赢得爆发式增长的情况下,决策正式将 App 全球化品牌名更新为「Demumu」。与此同时,官方团队昨晚发布社交媒体信息,诚邀网友提供更有创意的中文名。来源
    • 据央视新闻报道,当地时间 1 月 13 日,美国政府批准英伟达向中国出口 H200 人工智能芯片。该决定预计将恢复 H200 芯片对中国客户的出货。此前,美国总统特朗普已通过社交媒体表示,美方将允许英伟达对华销售 H200 芯片。相关销售由美国商务部负责审批及安全审查。同时,美方还将从相关交易中收取约 25 % 的费用。在其他相关信息方面,英伟达发言人此前在接受《环球时报》采访时表示,合规向中国授权客户销售 H200 芯片,不会影响公司对全球其他市场的供货能力。另据腾讯科技援引知情人士消息,英伟达 H200 的 8 卡模组渠道单价约为 140 万元,价格高于 H20。从性能密度(TPP)来看,H200 的算力值达到 15832,约为 H20 的 6.7 倍。来源
    • 据路透社报道,据多名知情人士披露,中国海关部门已于本周通知相关关员,不允许进口英伟达 H200 人工智能芯片。同时,中国政府官员召集国内科技企业开会,明确要求企业原则上不得采购 H200 芯片,除非存在不可替代的必要性。相关指示未说明具体原因,也未明确属于正式禁令还是临时措施。目前也暂不清楚,已下订单的 H200 芯片是否受到影响。来源


    少数派的近期动态

    • 年末「夯」一下!少数派 2025 年度盘点正式上线
    • 少数派会员年终福利来袭,引荐比例限时上调至 15%,邀请好友享 85 折入会优惠。参与活动
    • 好玩又实用,还有迪士尼授权配件可选,少数派「扭扭宝」充电宝火爆开售。来一个试试
    • GAMEBABY for iPhone 17 Pro & 17 Pro Max 系列现已上市。进一步了解
    • 《蓝皮书》系列新版上架,一起探索全新 iOS 和 macOS 的精彩。试读并选购

    你可能错过的好文章

    > 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验 📰

    > 实用、好用的 正版软件,少数派为你呈现 🚀