【RT-DETR实战】054、局部敏感哈希(LSH)注意力简化:当Transformer遇上内存墙 从一次OOM崩溃说起上周在部署RT-DETR到边缘设备时,遇到了一个经典问题:输入分辨率提到640x640,batch size刚调到4,训练就崩了。nvidia-smi显示显存占用瞬间冲顶,熟悉的“CUDA out of memory”再次出现。问题定位到Transformer的自注意力层——当序列长度L达到1600(40x40特征图)时,那个O(L²)的复杂度开始显露出狰狞面目。这其实不是新问题。传统自注意力要计算所有位置对之间的相似度,1600个位置就要处理256万个关联。在嵌入式场景下,这简直是奢侈。我们需要的是一种“聪明”的注意力——只关注真正重要的关联,而不是暴力计算所有可能。LSH注意力的核心直觉局部敏感哈希(LSH)注意力的核心思想很直观:如果两个向量相似,那么它们的哈希值也应该相似。反过来,哈希值相似的向量,我们才需要计算它们之间的注意力权重。这不就是我们要的“选择性关注”吗?具体来说,LSH注意力通过随机投影+argmax操作,把高维向量映射到有限的哈希桶里。想象一下,把相似的向量扔进同一个桶里,然后在桶内做局部注意力计算。复杂度瞬间从O(L²)降到O(L log L),显存占用直线下降。实现中的那些坑理论很美,实现起来却处处是细节。这是我在RT-DETR中简化的LSH注意力实现片段:class