Spaces:
Configuration error
Configuration error
|
Download org-card.svg from Cactus-Compute/README: direct link, hf CLI and curl.
- Browser
- Download file 24.9 kB
-
https://huggingface.co/spaces/Cactus-Compute/README/resolve/main/org-card.svg
- Command line
-
hf download hf://spaces/Cactus-Compute/README/org-card.svg
-
curl -L -o org-card.svg https://huggingface.co/spaces/Cactus-Compute/README/resolve/main/org-card.svg
24.9 kB
| <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1200 620" width="1200" height="620" role="img" aria-label="Cactus: automation foundation models for tiny devices"> | |
| <style>svg{--t0:0.0s}.s{animation-duration:18.0s;animation-iteration-count:infinite;animation-timing-function:linear;animation-delay:calc(0s - var(--t0))}@keyframes sA{0%{opacity:0}0.00%{opacity:0}2.22%{opacity:1}31.11%{opacity:1}33.33%{opacity:0}100%{opacity:0}}@keyframes sB{0%{opacity:0}33.33%{opacity:0}35.56%{opacity:1}64.44%{opacity:1}66.67%{opacity:0}100%{opacity:0}}@keyframes sC{0%{opacity:0}66.67%{opacity:0}68.89%{opacity:1}97.78%{opacity:1}100.00%{opacity:0}100%{opacity:0}}.sA{animation-name:sA}.sB{animation-name:sB}.sC{animation-name:sC}@media (prefers-reduced-motion:reduce){.s{animation:none;opacity:1}.hide-rm{display:none}}@keyframes tw0{0%{width:0}2.78%{width:0}5.28%{width:280px}8.61%{width:280px}8.89%{width:0}100%{width:0}}.tw0{animation-name:tw0;animation-timing-function:steps(7,end)}@keyframes wg0{0%{opacity:0}2.78%{opacity:0}2.83%{opacity:1}8.83%{opacity:1}8.89%{opacity:0}100%{opacity:0}}.wg0{animation-name:wg0}@keyframes tw1{0%{width:0}8.89%{width:0}11.39%{width:360px}14.72%{width:360px}15.00%{width:0}100%{width:0}}.tw1{animation-name:tw1;animation-timing-function:steps(9,end)}@keyframes wg1{0%{opacity:0}8.89%{opacity:0}8.94%{opacity:1}14.94%{opacity:1}15.00%{opacity:0}100%{opacity:0}}.wg1{animation-name:wg1}@keyframes tw2{0%{width:0}15.00%{width:0}17.50%{width:440px}20.83%{width:440px}21.11%{width:0}100%{width:0}}.tw2{animation-name:tw2;animation-timing-function:steps(11,end)}@keyframes wg2{0%{opacity:0}15.00%{opacity:0}15.06%{opacity:1}21.06%{opacity:1}21.11%{opacity:0}100%{opacity:0}}.wg2{animation-name:wg2}@keyframes tw3{0%{width:0}21.11%{width:0}23.61%{width:240px}26.94%{width:240px}27.22%{width:0}100%{width:0}}.tw3{animation-name:tw3;animation-timing-function:steps(6,end)}@keyframes wg3{0%{opacity:0}21.11%{opacity:0}21.17%{opacity:1}27.17%{opacity:1}27.22%{opacity:0}100%{opacity:0}}.wg3{animation-name:wg3}@keyframes tw4{0%{width:0}27.22%{width:0}29.72%{width:640px}33.06%{width:640px}33.33%{width:0}100%{width:0}}.tw4{animation-name:tw4;animation-timing-function:steps(16,end)}@keyframes wg4{0%{opacity:0}27.22%{opacity:0}27.28%{opacity:1}33.28%{opacity:1}33.33%{opacity:0}100%{opacity:0}}.wg4{animation-name:wg4}@keyframes barc{0%{transform:scaleX(0)}36.67%{transform:scaleX(0)}42.22%{transform:scaleX(1)}100%{transform:scaleX(1)}}@keyframes bart{0%{transform:scaleX(0)}40.00%{transform:scaleX(0)}48.89%{transform:scaleX(1)}100%{transform:scaleX(1)}}.barc{animation-name:barc;transform-box:fill-box;transform-origin:left center;animation-timing-function:cubic-bezier(.2,.8,.2,1)}.bart{animation-name:bart;transform-box:fill-box;transform-origin:left center;animation-timing-function:cubic-bezier(.2,.8,.2,1)}@keyframes big{0%{opacity:0}47.78%{opacity:0}50.56%{opacity:1}100%{opacity:1}}.big{animation-name:big}@keyframes dl0{0%{opacity:0}68.89%{opacity:0}69.17%{opacity:1}75.28%{opacity:1}75.56%{opacity:0}100%{opacity:0}}.dl0{animation-name:dl0}@keyframes dl1{0%{opacity:0}75.28%{opacity:0}75.56%{opacity:1}81.67%{opacity:1}81.94%{opacity:0}100%{opacity:0}}.dl1{animation-name:dl1}@keyframes dl2{0%{opacity:0}81.67%{opacity:0}81.94%{opacity:1}88.06%{opacity:1}88.33%{opacity:0}100%{opacity:0}}.dl2{animation-name:dl2}@keyframes dl3{0%{opacity:0}88.06%{opacity:0}88.33%{opacity:1}94.44%{opacity:1}94.72%{opacity:0}100%{opacity:0}}.dl3{animation-name:dl3}@keyframes dl4{0%{opacity:0}94.44%{opacity:0}94.72%{opacity:1}100.83%{opacity:1}101.11%{opacity:0}100%{opacity:0}}.dl4{animation-name:dl4}@keyframes tk0{0%{fill:#232326}68.89%{fill:#232326}70.56%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk0{animation-name:tk0}@keyframes tk1{0%{fill:#232326}88.06%{fill:#232326}89.72%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk1{animation-name:tk1}@keyframes tk2{0%{fill:#232326}88.06%{fill:#232326}89.72%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk2{animation-name:tk2}@keyframes tk3{0%{fill:#232326}88.06%{fill:#232326}89.72%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk3{animation-name:tk3}@keyframes tk4{0%{fill:#232326}81.67%{fill:#232326}83.33%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk4{animation-name:tk4}@keyframes tk5{0%{fill:#232326}88.06%{fill:#232326}89.72%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk5{animation-name:tk5}@keyframes tk6{0%{fill:#232326}81.67%{fill:#232326}83.33%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk6{animation-name:tk6}@keyframes tk7{0%{fill:#232326}88.06%{fill:#232326}89.72%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk7{animation-name:tk7}@keyframes tk8{0%{fill:#232326}88.06%{fill:#232326}89.72%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk8{animation-name:tk8}@keyframes tk9{0%{fill:#232326}75.28%{fill:#232326}76.94%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk9{animation-name:tk9}@keyframes tk10{0%{fill:#232326}94.44%{fill:#232326}96.11%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk10{animation-name:tk10}@keyframes tk11{0%{fill:#232326}81.67%{fill:#232326}83.33%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk11{animation-name:tk11}@keyframes tk12{0%{fill:#232326}88.06%{fill:#232326}89.72%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk12{animation-name:tk12}@keyframes tk13{0%{fill:#232326}94.44%{fill:#232326}96.11%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk13{animation-name:tk13}@keyframes tk14{0%{fill:#232326}75.28%{fill:#232326}76.94%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk14{animation-name:tk14}@keyframes tk15{0%{fill:#232326}94.44%{fill:#232326}96.11%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk15{animation-name:tk15}@keyframes tk16{0%{fill:#232326}81.67%{fill:#232326}83.33%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk16{animation-name:tk16}@keyframes tk17{0%{fill:#232326}88.06%{fill:#232326}89.72%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk17{animation-name:tk17}@keyframes tk18{0%{fill:#232326}94.44%{fill:#232326}96.11%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk18{animation-name:tk18}@keyframes tk19{0%{fill:#232326}68.89%{fill:#232326}70.56%{fill:#e8593d}98.33%{fill:#e8593d}100%{fill:#232326}}.tk19{animation-name:tk19}@keyframes rq{0%{width:0}72.22%{width:0}77.22%{width:240.0px}100%{width:240.0px}}.rq{animation-name:rq;animation-timing-function:steps(25,end)}@keyframes cl{0%{width:0}79.44%{width:0}86.67%{width:655.2px}100%{width:655.2px}}.cl{animation-name:cl;animation-timing-function:steps(78,end)}</style> | |
| <defs> | |
| <pattern id="dots" width="24" height="24" patternUnits="userSpaceOnUse"><circle cx="12" cy="12" r="1" fill="#ffffff" opacity="0.06"/></pattern> | |
| <linearGradient id="fade" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#8f8f8f"/></linearGradient> | |
| <clipPath id="cw0"><rect class="s tw0" x="541" y="330" width="0" height="90"/></clipPath> | |
| <clipPath id="cw1"><rect class="s tw1" x="507" y="330" width="0" height="90"/></clipPath> | |
| <clipPath id="cw2"><rect class="s tw2" x="473" y="330" width="0" height="90"/></clipPath> | |
| <clipPath id="cw3"><rect class="s tw3" x="558" y="330" width="0" height="90"/></clipPath> | |
| <clipPath id="cw4"><rect class="s tw4" x="388" y="330" width="0" height="90"/></clipPath> | |
| <clipPath id="crq"><rect class="s rq" x="80" y="428" width="0" height="30"/></clipPath> | |
| <clipPath id="ccl"><rect class="s cl" x="80" y="462" width="0" height="28"/></clipPath> | |
| </defs> | |
| <rect width="1200" height="620" rx="28" fill="#0e0e10"/> | |
| <rect width="1200" height="620" rx="28" fill="url(#dots)"/> | |
| <image href="data:image/png;base64,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" x="56" y="40" width="40" height="39"/> | |
| <text x="106" y="70" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="27" font-weight="600" fill="#e8e6df">Cactus</text> | |
| <text x="1144" y="68" text-anchor="end" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="17" fill="#85827a">Automation Foundation Models For Tiny Devices</text> | |
| <line x1="56" y1="100" x2="1144" y2="100" stroke="#232326" stroke-width="1"/> | |
| <g class="s sA"> | |
| <text x="600" y="258" text-anchor="middle" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="66" font-weight="600" fill="#e8e6df" letter-spacing="-1.5">Automation</text> | |
| <text x="600" y="330" text-anchor="middle" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="66" font-weight="600" fill="#e8e6df" letter-spacing="-1.5">Foundation Models</text> | |
| <g class="s wg0"> | |
| <text x="523" y="402" text-anchor="end" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="66" font-weight="600" fill="url(#fade)" letter-spacing="-1.5">For</text> | |
| <text x="541" y="402" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="66" font-weight="600" fill="url(#fade)" letter-spacing="-1.5" clip-path="url(#cw0)">mobiles</text> | |
| </g> | |
| <g class="s wg1"> | |
| <text x="489" y="402" text-anchor="end" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="66" font-weight="600" fill="url(#fade)" letter-spacing="-1.5">For</text> | |
| <text x="507" y="402" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="66" font-weight="600" fill="url(#fade)" letter-spacing="-1.5" clip-path="url(#cw1)">wearables</text> | |
| </g> | |
| <g class="s wg2"> | |
| <text x="455" y="402" text-anchor="end" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="66" font-weight="600" fill="url(#fade)" letter-spacing="-1.5">For</text> | |
| <text x="473" y="402" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="66" font-weight="600" fill="url(#fade)" letter-spacing="-1.5" clip-path="url(#cw2)">smart homes</text> | |
| </g> | |
| <g class="s wg3"> | |
| <text x="540" y="402" text-anchor="end" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="66" font-weight="600" fill="url(#fade)" letter-spacing="-1.5">For</text> | |
| <text x="558" y="402" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="66" font-weight="600" fill="url(#fade)" letter-spacing="-1.5" clip-path="url(#cw3)">robots</text> | |
| </g> | |
| <g class="s wg4"> | |
| <text x="370" y="402" text-anchor="end" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="66" font-weight="600" fill="url(#fade)" letter-spacing="-1.5">For</text> | |
| <text x="388" y="402" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="66" font-weight="600" fill="url(#fade)" letter-spacing="-1.5" clip-path="url(#cw4)">microcontrollers</text> | |
| </g> | |
| <text x="600" y="470" text-anchor="middle" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="21" fill="#85827a">2-bit, 8-29MB, runs locally, up to 4k tokens/sec decode speed</text> | |
| </g> | |
| <g class="s sB"> | |
| <text x="80" y="172" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="13" letter-spacing="1.5" fill="#e8593d">THESIS</text> | |
| <text x="80" y="216" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="23" fill="#e8e6df">On-device AI today is built for computers and humanoids.</text> | |
| <text x="80" y="252" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="23" fill="#e8e6df">Most edge devices are tiny: phones, wearables, smart home</text> | |
| <text x="80" y="288" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="23" fill="#e8e6df">and small robots, and we are racing to own that market.</text> | |
| <text x="80" y="372" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="17" fill="#85827a">Needle is the foundation model for that hardware: no GPU, no NPU,</text> | |
| <text x="80" y="398" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="17" fill="#85827a">a few dozen MB of RAM, and no network in the loop.</text> | |
| <rect x="700" y="140" width="444" height="300" rx="16" fill="#141416" stroke="#232326"/> | |
| <text x="728" y="178" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="12" letter-spacing="1.5" fill="#85827a">AI-NATIVE DEVICES BY 2030</text> | |
| <text class="s big" x="728" y="248" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="64" font-weight="600" fill="#e8593d" letter-spacing="-2">39B+</text> | |
| <text x="728" y="300" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="15" fill="#e8e6df">Computers</text> | |
| <text x="1116" y="300" text-anchor="end" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="13" fill="#85827a">2B</text> | |
| <rect x="728" y="310" width="388" height="10" rx="5" fill="#232326"/> | |
| <rect class="s barc" x="728" y="310" width="21" height="10" rx="5" fill="#85827a"/> | |
| <text x="728" y="356" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="15" fill="#e8e6df">Tiny devices</text> | |
| <text x="1116" y="356" text-anchor="end" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="13" fill="#e8593d">37B</text> | |
| <rect x="728" y="366" width="388" height="10" rx="5" fill="#232326"/> | |
| <rect class="s bart" x="728" y="366" width="368" height="10" rx="5" fill="#e8593d"/> | |
| <text x="728" y="404" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#85827a">phones, wearables, smart home devices and micro-IoT</text> | |
| </g> | |
| <g class="s sC"> | |
| <text x="80" y="186" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="46" font-weight="600" fill="#e8e6df" letter-spacing="-1">Needle 3</text> | |
| <text x="80" y="218" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="17" fill="#85827a">One set of weights, every depth from 2 to 20 layers a model of its own.</text> | |
| <circle cx="86" cy="257" r="3" fill="#e8593d"/> | |
| <text x="102" y="262" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="17" fill="#e8e6df">beats models 10x its size on mobile tool calls</text> | |
| <circle cx="86" cy="287" r="3" fill="#e8593d"/> | |
| <text x="102" y="292" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="17" fill="#e8e6df">structured extraction and text embedding, on the device</text> | |
| <circle cx="86" cy="317" r="3" fill="#e8593d"/> | |
| <text x="102" y="322" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="17" fill="#e8e6df">2-bit CQ weights, 8-29 MB, a sub-1 MB engine</text> | |
| <circle cx="86" cy="347" r="3" fill="#e8593d"/> | |
| <text x="102" y="352" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="17" fill="#e8e6df">up to 4k tokens/s decode on a Raspberry Pi 5</text> | |
| <text x="80" y="418" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="12" letter-spacing="1.5" fill="#85827a">ONE REQUEST, ONE GROUNDED CALL</text> | |
| <text x="80" y="450" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="16" fill="#e8e6df" clip-path="url(#crq)" xml:space="preserve">dim the living room to 30</text> | |
| <text x="80" y="482" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="14" fill="#e8593d" clip-path="url(#ccl)" xml:space="preserve">{"name": "set_lights", "arguments": {"room": "living room", "brightness": 30}}</text> | |
| <rect x="720" y="140" width="424" height="330" rx="16" fill="#141416" stroke="#232326"/> | |
| <text x="748" y="178" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="12" letter-spacing="1.5" fill="#85827a">INTELLIGENCE LADDER</text> | |
| <rect class="s tk0" x="748.0" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk1" x="767.5" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk2" x="787.0" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk3" x="806.5" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk4" x="826.0" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk5" x="845.5" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk6" x="865.0" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk7" x="884.5" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk8" x="904.0" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk9" x="923.5" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk10" x="943.0" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk11" x="962.5" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk12" x="982.0" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk13" x="1001.5" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk14" x="1021.0" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk15" x="1040.5" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk16" x="1060.0" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk17" x="1079.5" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk18" x="1099.0" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <rect class="s tk19" x="1118.5" y="200" width="14" height="46" rx="3" fill="#232326"/> | |
| <text x="748" y="270" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="11" fill="#4a4844">layer 0</text> | |
| <text x="1132.5" y="270" text-anchor="end" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="11" fill="#4a4844">layer 19</text> | |
| <text class="s dl0" x="748" y="326" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="40" font-weight="600" fill="#e8e6df" letter-spacing="-1">2 layers <tspan fill="#e8593d">25M</tspan></text> | |
| <text class="s dl1" x="748" y="326" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="40" font-weight="600" fill="#e8e6df" letter-spacing="-1">4 layers <tspan fill="#e8593d">29M</tspan></text> | |
| <text class="s dl2" x="748" y="326" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="40" font-weight="600" fill="#e8e6df" letter-spacing="-1">8 layers <tspan fill="#e8593d">52M</tspan></text> | |
| <text class="s dl3" x="748" y="326" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="40" font-weight="600" fill="#e8e6df" letter-spacing="-1">16 layers <tspan fill="#e8593d">98M</tspan></text> | |
| <text class="s dl4" x="748" y="326" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="40" font-weight="600" fill="#e8e6df" letter-spacing="-1">20 layers <tspan fill="#e8593d">121M</tspan></text> | |
| <text x="748" y="360" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="15" fill="#85827a">blocks 0 and 19 always kept, the rest added by bisection;</text> | |
| <text x="748" y="384" font-family="Inter, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="15" fill="#85827a">fine-tuned, 4 layers already pass DeepSeek V4 Flash on DroidCall</text> | |
| <text x="748" y="440" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="13" fill="#e8e6df">needle build --layers 8 --platform linux-arm64</text> | |
| </g> | |
| <line x1="56" y1="536" x2="1144" y2="536" stroke="#232326" stroke-width="1"/> | |
| <text x="56" y="574" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="13" fill="#85827a">cactuscompute.com/needle 路 huggingface.co/Cactus-Compute 路 github.com/cactus-compute 路 pip install cactus-needle</text> | |
| <text x="1144" y="574" text-anchor="end" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="13" fill="#4a4844">Cactus Compute, Inc.</text> | |
| </svg> |