fp16 is what makes this model worth lowering: at fp32 Vulkan loses to XNNPACK
on an Adreno 840 (0.91x), at fp16 it wins 1.35x, and on a Mali-G76 it is 1.90x.
Halving the file to 218 MB also eases the memory pressure that dominates this
model on 8 GB devices.
Mean pooling is written with keepdim so the reduction stays on the GPU, which
costs one delegate blob less. The 30527-row token embedding is kept off
texture storage, without which fp16 returns silently wrong values
(pytorch/executorch#22333); cosine against the CPU reference is 0.99995 on
Adreno and 0.99997 on Mali.
Requires the ExecuTorch 1.4.1 Vulkan runtime from the v0.10.0-libs-1.4.1
artifacts.