trellis-text-coreml的40个mlpackage逐一拆解:从text_fp32到appearance_output的模型架构地图

【免费下载链接】trellis-text-coreml

项目地址: https://ai.gitcode.com/hf_mirrors/mickeyvanolst/trellis-text-coreml
点击查看 免费下载

trellis-text-coreml 把微软 TRELLIS 的"文生3D"模型完整转换为 40 个 Core ML 模型包(mlpackage),专为 Apple Silicon + macOS 14 设计,供 TouchDesigner 的 Geo Gen 算子原生调用。本文逐一拆解 bundle.json 中登记的 40 个分片——从 text_fp32 文本编码器,到 flow_mixed_attn32 形状采样主模型、slat_blocks 稀疏细节链、mesh_block 网格提取链,直到最后的 appearance_output 外观渲染包,帮你 5 分钟看懂整条"提示词 → 带纹理 3D 网格"流水线。

为什么 TRELLIS 要被拆成 40 个模型包?

整个下载包约 3.28 GB,装在一个目录里,但推理时并不是一次性加载一个大模型。拆分带来 3 个直接好处:

  1. 按需加载:TouchDesigner 助手可以分组载入,避免峰值内存失控
  2. 按包选算力路径:助手为每个包单独选择经过测试的 CPU/GPU 计算路径(改动这些路径会产生错误结果)
  3. 完整性校验:每个分片都有独立 SHA-256,损坏一目了然

⚠️ 注意:这 40 个包本身不是独立应用。采样、稀疏路由、FlexiCubes 提取、碎片清理、网格简化、UV 烘焙都由 TD Apple ML 的原生助手完成,缺少任何一个环节都无法生成网格。

全景图:40 个 mlpackage 的分组速查表

分组包权重体积职能
📝 文本编码text_fp32.mlpackage470 MBCLIP 文本编码器,把提示词变成语义向量
🌀 形状采样flow_mixed_attn32.mlpackage1.05 GB粗形状流模型(最大包,"采样主引擎")
🧊 形状解码decoder.mlpackage141 MB把潜在张量解码为 256³ 稀疏占用体素
🔬 SLAT 细节链slat_input / slat_blocks_0~5 / slat_output73 MB + 6×173 MB + 18.5 MB稀疏潜在空间细节采样
🕸️ 网格解码链mesh_input / mesh_block_0~11 / mesh_up_0~127 KB + 12×13.5 MB + 9.8 MB + 1.5 MBFlexiCubes 网格提取与上采样
🎨 外观链appearance_input / appearance_block_0~11 / appearance_output27 KB + 12×13.5 MB + 1.3 MB独立 Gaussian 外观解码器 + 纹理烘焙

合计 40 个包,体积权重几乎全部落在 flow_mixed_attn32、text_fp32 和 6 个 slat_blocks 上——它们正是"吃显存"的主力。

数据源:bundle.json 中的 size 字段(权重文件字节数)。

逐一拆解:从 text_fp32 到 appearance_output

1. text_fp32 — CLIP 文本编码器(470 MB)

流水线第 1 步。它把一句自然语言(比如 a mouse)编码为 768 维语义向量,后续所有采样都以它为条件。

  • 来源:openai/clip-vit-large-patch14(MIT 许可,见 CLIP-LICENSE.txt)
  • 名字里的 fp32:编码器全程 float32 计算,保证文本语义稳定——README 明确说明"该处显式使用 float32 注意力"
  • 配套文件:vocab.json(918 KB 词表)与 merges.txt(512 KB BPE 合并规则)负责把提示词切分成子词 ID,供该包消费

2. flow_mixed_attn32 — 粗形状流模型(1.05 GB,全场最大)

这是文本流匹配(flow matching)模型,负责从噪声中"雕刻"出粗形状潜变量。名字拆解:

  • mixed:混合精度——非注意力部分用混合源精度转换以压缩体积
  • attn32:注意力层强制 float32,防止低精度下数值不稳定

它是整条流水线中最大、最贵的分片,也是"Shape Steps"参数直接作用的对象。

3. decoder — 潜在空间 → 256³ 体素(141 MB)

把流模型采样的潜在张量解码为 256³ 稀疏占用网格(occupied grid):标记哪些体素被物体占据。它是"形状采样阶段"的收尾,输出交给下游 SLAT 链继续细化。

4. slat_input / slat_blocks_0~5 / slat_output — 稀疏细节链(6 包)

TRELLIS 的核心数据结构叫 SLAT(Sparse Latent)——只给"有内容的体素"分配 token,跳过空空间,这是 3D 生成省算力的关键。

包作用
slat_input把粗形状占用网格投影成稀疏 token 序列(73 MB)
slat_blocks_0 ~ slat_blocks_56 个同构 Transformer 块(各 173 MB),在稀疏 token 上跑细节采样
slat_output输出细节潜在字段(18.5 MB)

⚠️ 容量上限:当前助手最多支持 32,768 个占用细节格与 8,192 个池化注意力 token。超出时不会截断,而是直接报错——此时换个 seed 或用粗预览。

5. mesh_input / mesh_block_0~11 / mesh_up_0~1 — 网格提取链(15 包)

这一链把"体素级信息"变成真正的三角形网格:

包作用
mesh_input稀疏 token 解码入口(仅 27 KB 权重,主要是路由结构)
mesh_block_0 ~ mesh_block_1112 个同构 Transformer 块(各 13.5 MB),逐层细化体素结构
mesh_up_0第一级上采样(9.8 MB),FlexiCubes 提取在此发生
mesh_up_1最终上采样与输出头(1.5 MB),产出三角形网格

之后助手接管:碎片清理(Minimum Piece Size 默认为最大连通件三角形数的 0.1%)、网格简化(Standard 档目标 ≤60,000 三角形,为原始数量的 1/4,几何误差上限可保留更多三角形)。两种 Mesh Detail 档位都提取完整的 256³ 学习表面。

6. appearance_input / appearance_block_0~11 / appearance_output — 外观渲染链(14 包)

独立于网格头的 Gaussian 外观解码器:

  • appearance_input:特征预处理(27 KB)
  • appearance_block_0~11:12 个同构块(各 13.5 MB)生成高斯外观参数
  • appearance_output:输出头(1.3 MB),配合多视角渲染

颜色不来自网格头的辅助颜色通道,而是由这条链渲染后,albedo 按纹素(texel)从渲染视角采样;法线输出则是几何表面法线。1024² 纹理是推荐起点。

7. 非模型文件:tokenizer 双件套与校验清单

文件作用
vocab.jsonCLIP 词表(约 49,152 词),提示词 → 子词 ID
merges.txtBPE 合并规则,与词表配套
bundle.json格式 aml-trellis-text v1:登记 40 个包 + 全部文件的 SHA-256 与字节数,是校验下载完整性的唯一权威清单
TRELLIS-LICENSE.txtTRELLIS 权重许可(Microsoft,MIT)
CLIP-LICENSE.txtCLIP 许可(OpenAI,MIT)

如何在 TouchDesigner 中使用这 40 个包

  1. 在支持该 bundle 的 AML 版本中:Geo Gen → Input → Prompt,再 Manage Models → TRELLIS Text → Download
  2. 或手动下载完整目录(不要改动目录布局),把 Prompt Model Folder 指向该文件夹
  3. 注意:纯图像的 TripoSR/SF3D 下载不包含这些模型

推荐起步参数(来自 README.md 实测):

  • Shape Steps = 8,Detail Steps = 8,Mesh Detail = Standard,纹理 1024²
  • 参考性能:Apple M4 + 24 GB 内存、模型已加载状态下,a mouse(seed 42)耗时 112.5 秒
  • 首次运行 Core ML 编译耗时更长;增加步数、网格细节、纹理分辨率都是"用时间和内存换质量"

常见问题 FAQ

Q:为什么 40 个包不合成一个大模型? 内存管理 + 按包选择计算路径 + 逐包校验,是拆分的三个动机。

Q:缺一个包会怎样? 不行。README 明确"需要完整文件夹":文本编码器、粗形状流/解码器、稀疏细节流、网格解码器、Gaussian 外观解码器缺一不可。

Q:能不能改某个包的 CPU/GPU 路径来提速? 不建议。助手已为每个包选定测试过的路径,改动可能产生错误结果而非仅变慢。

Q:和上游 CUDA 管线完全一致吗? 官方表述谨慎:原生随机 seed 在本实现内可复现,但不复现 NumPy 噪声流;与上游 CUDA 管线的完全等价尚未建立。生成结果是近似的,网格可能存在开孔或缺陷,不保证可打印或水密。

关键文件清单

【免费下载链接】trellis-text-coreml

项目地址: https://ai.gitcode.com/hf_mirrors/mickeyvanolst/trellis-text-coreml
点击查看 免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值