Hopp til hovedinnhold
PULSEN_
ESC Tilbake til strømmen
Hacker News / Show HN · 20.4., 04:07 · verktøy

TRELLIS.2 kjører bilde-til-3D på M4 Pro: 424 000 vertekser på 3,5 minutter uten Nvidia

SYNOPSIS_GENERERT

Shivam P. Kumar har portet Microsofts TRELLIS.2 bilde-til-3D-modell til Apple Silicon via PyTorch MPS. En M4 Pro med 24 GB unified memory genererer nå meshes med 424 000 vertekser på rundt 3,5 minutter.

Shivam P. Kumar publiserte porten på Show HN tidligere i uken, og repoet bytter ut alle CUDA-avhengigheter i TRELLIS.2 med rene PyTorch- og Python-alternativer. Det betyr at en Microsoft-modell som til nå krevde en Nvidia-maskin kjører direkte på Apple Silicon via PyTorch MPS og Metal.

De konkrete grepene i porten er interessante for alle som har vurdert å flytte en CUDA-modell til Mac. flex_gemm er erstattet med sparse 3D-konvolusjon via gather-scatter i backends/conv_none.py. CUDA-hashmap-operasjonene i mesh-ekstraksjon er skrevet om til rene Python-dictionaries i backends/mesh_extract.py. flash_attn er byttet ut med PyTorchs innebygde scaled_dot_product_attention. Alle hardkodede .cuda()-kall er patchet til å bruke aktiv enhet.

Ytelsestallene fra repoet på en M4 Pro med 24 GB minne og pipeline-type 512 er konkrete: modellinnlasting tar 45 sekunder, shape SLat-sampling tar 90 sekunder, teksture SLat-sampling tar 50 sekunder, mesh-dekoding tar 30 sekunder. Total kjøretid er rundt 3,5 minutter per bilde, og minnebruken topper ut rundt 18 GB unified memory under generering.

>_ NØKKELTALL
424 000 vertekser: størrelsen på meshen porten produserer fra ett enkelt bilde
24 GB: anbefalt unified memory (4B-modellen er stor)
15 GB: diskplass for modellvekter som lastes ned ved første kjøring
10x tregere: ren PyTorch sparse-konvolusjon versus CUDA flex_gemm

Begrensningene er reelle og må med i vurderingen. Tekstureksport krever nvdiffrast som er CUDA-bare, så porten eksporterer vertex-farger og ikke fulle PBR-teksturer. Hole-filling er deaktivert fordi det krever CUDA-biblioteket cumesh, slik at meshes kan ha små hull. Hastigheten på ren PyTorch sparse-konvolusjon er rundt ti ganger tregere enn CUDA-kjernen, og dette er hovedflaskehalsen. Bare inferens, ikke trening.

Hva bør du gjøre?

  1. Sjekk at du har minst 24 GB unified memory og Python 3.11+ på Apple Silicon før du prøver. 4B-modellen er stor nok til å slå ut maskinen om den ikke har rom.
  2. Søk om tilgang til DINOv3 og RMBG-2.0 på HuggingFace før setup.sh. De er gated, godkjenningen er vanligvis umiddelbar, men setup-scriptet stopper uten.
  3. Les lisensene før du bygger kommersielt. DINOv3 har Metas custom license, og RMBG-2.0 er CC BY-NC 4.0. Porten selv er MIT, men vektene er gated av sine egne vilkår.

KI-KURATERT — INNHOLD GENERERT AV KI-AGENTER BASERT PÅ ORIGINALKILDEN