WEBVTT
Kind: captions
Language: en

00:00:00.080 --> 00:00:06.720
Quen's 27 billion parameter model reads images&nbsp;
and text. And the lab behind most local model&nbsp;&nbsp;

00:00:06.720 --> 00:00:13.760
compression just shrank it into a single 11.8 GB&nbsp;
file. A model that size normally needs more memory&nbsp;&nbsp;

00:00:13.760 --> 00:00:19.680
than any gaming computer has. This one is smaller&nbsp;
than a video game install. Needless to say,&nbsp;&nbsp;

00:00:19.680 --> 00:00:25.120
this is a seriously impressive demonstration of&nbsp;
model compression. But the question must be asked,&nbsp;&nbsp;

00:00:25.120 --> 00:00:31.120
can a 12 GBTE graphics card actually run&nbsp;
Quen's 27 billion parameter model? To find out,&nbsp;&nbsp;

00:00:31.120 --> 00:00:35.440
we have to look at the repository where we see&nbsp;
that the download page doesn't actually offer&nbsp;&nbsp;

00:00:35.440 --> 00:00:40.800
a single file, but a menu of four different&nbsp;
sizes shipped two ways for a total of eight&nbsp;&nbsp;

00:00:40.800 --> 00:00:47.280
model files. That 11.8 GB model from our title&nbsp;
is the largest of the plane options, which the&nbsp;&nbsp;

00:00:47.280 --> 00:00:53.280
lab recommends as its task lossless build. But&nbsp;
sitting right beside those models is a ninth file,&nbsp;&nbsp;

00:00:53.280 --> 00:01:00.320
a 0.93 GBTE vision projector called MM Proj. None&nbsp;
of the eight main checkpoints actually contain&nbsp;&nbsp;

00:01:00.320 --> 00:01:04.400
this vision projector, which means you have to&nbsp;
get it separately if you want to use the model's&nbsp;&nbsp;

00:01:04.400 --> 00:01:12.560
multimodal capabilities. On paper, the 11.8 GB of&nbsp;
the GSQ RCO build and the 12 GB of your graphics&nbsp;&nbsp;

00:01:12.560 --> 00:01:17.520
card sit right next to each other. But those&nbsp;
two numbers are actually measured in entirely&nbsp;&nbsp;

00:01:17.520 --> 00:01:23.360
different units. When a card is sold as having&nbsp;
12 GB of memory, the operating system actually&nbsp;&nbsp;

00:01:23.360 --> 00:01:29.120
counts that space in binary gigabytes, which is&nbsp;
what your hardware actually has to work with. On&nbsp;&nbsp;

00:01:29.120 --> 00:01:37.120
the other side of the ledger, that recommended GSQ&nbsp;
RCO build is listed on HuggingFace at 11.77 GB.&nbsp;&nbsp;

00:01:37.120 --> 00:01:44.320
But when you inspect the actual weights of that&nbsp;
GSQ RCO build, they only take up 10.96 GB of space&nbsp;&nbsp;

00:01:44.320 --> 00:01:52.000
because the download page is using decimal GB. If&nbsp;
you subtract 10.96 from your 12 GB of capacity,&nbsp;&nbsp;

00:01:52.000 --> 00:01:58.960
you are left with 1.04 GB of free space, that&nbsp;
means the actual headroom on your card is larger&nbsp;&nbsp;

00:01:58.960 --> 00:02:03.760
than the 200 megabytes the headline number&nbsp;
suggested. But that extra headroom is about&nbsp;&nbsp;

00:02:03.760 --> 00:02:08.720
to vanish because the model's ability to read&nbsp;
images is stored in a completely separate file&nbsp;&nbsp;

00:02:08.720 --> 00:02:18.320
called mm praj, which weighs 931 million bytes or&nbsp;
0.87 GB. And in a release designed entirely around&nbsp;&nbsp;

00:02:18.320 --> 00:02:24.320
model compression, this vision projector is the&nbsp;
only file that wasn't compressed at all. Instead,&nbsp;&nbsp;

00:02:24.320 --> 00:02:29.840
the lab left it at its original 16-bit format.&nbsp;
And because one copy serves every single build&nbsp;&nbsp;

00:02:29.840 --> 00:02:34.560
on the menu, this memory penalty is exactly&nbsp;
the same whether you pick the largest budget&nbsp;&nbsp;

00:02:34.560 --> 00:02:41.040
or the smallest. In llama.cpp, you load this&nbsp;
projector using a separate command line flag,&nbsp;&nbsp;

00:02:41.040 --> 00:02:48.480
which makes it easy to forget that it's even&nbsp;
there. But once it loads, 0.8 87 GB of the 1.04 we&nbsp;&nbsp;

00:02:48.480 --> 00:02:54.240
just found is instantly gone. This means the part&nbsp;
of the model the title sells, the system that lets&nbsp;&nbsp;

00:02:54.240 --> 00:02:59.280
it read images, is the one part the compression&nbsp;
never touched, and it eats almost all of the&nbsp;&nbsp;

00:02:59.280 --> 00:03:04.400
headroom your card has left. The quantization&nbsp;
paper behind this build splits the field of&nbsp;&nbsp;

00:03:04.400 --> 00:03:11.680
model compression into simple scalar methods like&nbsp;
GPTQ and AWQ that everyone deploys and vector or&nbsp;&nbsp;

00:03:11.680 --> 00:03:18.800
trellis methods like Q-tip and AQLM that score&nbsp;
better. In the paper's own words, scalar methods&nbsp;&nbsp;

00:03:18.800 --> 00:03:24.000
plateau in accuracy at 3 to four bits, while&nbsp;
the more accurate vector family is notoriously&nbsp;&nbsp;

00:03:24.000 --> 00:03:30.640
hard to implement and scale. So GSQ closes most of&nbsp;
that accuracy gap while staying on a scalar grid,&nbsp;&nbsp;

00:03:30.640 --> 00:03:34.880
ensuring the compressed model remains fully&nbsp;
compatible with the existing scalar inference&nbsp;&nbsp;

00:03:34.880 --> 00:03:41.280
kernels we already run on our cards. It turns out&nbsp;
the same lab published GPTQ, which is one of the&nbsp;&nbsp;

00:03:41.280 --> 00:03:47.520
standard methods GSQ measures itself against. On&nbsp;
top of that, GSQ can be applied directly to an&nbsp;&nbsp;

00:03:47.520 --> 00:03:53.200
existing GGUF release you already have, improving&nbsp;
its accuracy and exporting it right back into the&nbsp;&nbsp;

00:03:53.200 --> 00:04:00.480
exact same format. This file runs in your everyday&nbsp;
apps like Llama.cpp, Olama, and LM Studio without&nbsp;&nbsp;

00:04:00.480 --> 00:04:05.840
modifying any of them. And that's not luck. It&nbsp;
happens because the lab deliberately chose the&nbsp;&nbsp;

00:04:05.840 --> 00:04:11.200
family of methods that scores worse in order to&nbsp;
stay inside a format the existing software already&nbsp;&nbsp;

00:04:11.200 --> 00:04:15.920
reads. Compressing a single tensor doesn't&nbsp;
build a whole file because you still have to&nbsp;&nbsp;

00:04:15.920 --> 00:04:21.600
decide how much compression to apply to each part&nbsp;
of the model to fit your hardware. To solve that,&nbsp;&nbsp;

00:04:21.600 --> 00:04:27.280
Michael Hellig and Dan Allistar published a second&nbsp;
paper titled Model Compression with Exact Budget&nbsp;&nbsp;

00:04:27.280 --> 00:04:32.400
Constraints, framing the problem as assigning&nbsp;
one of several options to each group under a&nbsp;&nbsp;

00:04:32.400 --> 00:04:38.240
total cost budget. While penalty-based approaches&nbsp;
only enforce a budget approximately and require&nbsp;&nbsp;

00:04:38.240 --> 00:04:44.800
extensive hyperparameter tuning, this method meets&nbsp;
it exactly without any constraintspecific tuning.&nbsp;&nbsp;

00:04:44.800 --> 00:04:50.160
Relaxing the budget constraint describes a smooth&nbsp;
curved surface called a remmanion manifold in&nbsp;&nbsp;

00:04:50.160 --> 00:04:55.760
lojit space allowing a gradient method to walk&nbsp;
along it without ever leaving it. The procedure&nbsp;&nbsp;

00:04:55.760 --> 00:05:01.440
takes three steps. You quantize every tensor into&nbsp;
every candidate format, search for the assignment&nbsp;&nbsp;

00:05:01.440 --> 00:05:06.640
that meets your budget and stitch those winners&nbsp;
into one ordinary file. And that means you can&nbsp;&nbsp;

00:05:06.640 --> 00:05:11.360
spend your memory budget down to the last bite,&nbsp;
which is exactly the problem you face when trying&nbsp;&nbsp;

00:05:11.360 --> 00:05:17.920
to squeeze a 27 billion parameter model onto a 12&nbsp;
GB card. You don't even have to download the model&nbsp;&nbsp;

00:05:17.920 --> 00:05:23.120
to see what that search algorithm decided because&nbsp;
the lab published the entire decision list as a&nbsp;&nbsp;

00:05:23.120 --> 00:05:30.240
plain text file. Inside the recommended build, the&nbsp;
search algorithm ended up slicing 851 individual&nbsp;&nbsp;

00:05:30.240 --> 00:05:37.040
tensors across 11 different storage formats.&nbsp;
It left 96 tensors at full 16-bit precision&nbsp;&nbsp;

00:05:37.040 --> 00:05:42.240
while dropping the rest into a staircase of&nbsp;
smaller quantization formats. For instance,&nbsp;&nbsp;

00:05:42.240 --> 00:05:48.880
the search assigned 144 tensors to the IQ3S&nbsp;
format. And the measured average lands right&nbsp;&nbsp;

00:05:48.880 --> 00:05:55.200
on the lab's 3.5 target, but non-uniform is not&nbsp;
just a marketing word, and the search isn't afraid&nbsp;&nbsp;

00:05:55.200 --> 00:06:00.160
to starve a single component if it means saving&nbsp;
the rest of the network. In the published dump,&nbsp;&nbsp;

00:06:00.160 --> 00:06:07.120
block 13's feed forward gate is squeezed down to a&nbsp;
starved format called IQ1M, running on just 1 and&nbsp;&nbsp;

00:06:07.120 --> 00:06:13.280
3/4 bits. That single tensor isn't surrounded by&nbsp;
full precision. It sits inside a block whose other&nbsp;&nbsp;

00:06:13.280 --> 00:06:19.200
matrices were all given 2, 3, and 4bit formats.&nbsp;
It's simply the cheapest thing in a neighborhood&nbsp;&nbsp;

00:06:19.200 --> 00:06:27.040
of ordinary compromises. More than a tenth of the&nbsp;
11.77 GB file is just vocabulary. Specifically,&nbsp;&nbsp;

00:06:27.040 --> 00:06:33.280
two tensors that do nothing but turn tokens&nbsp;
into numbers and back account for 1.12 GB of&nbsp;&nbsp;

00:06:33.280 --> 00:06:38.720
the file size together, split between the output&nbsp;
head and the embedding table. Against that,&nbsp;&nbsp;

00:06:38.720 --> 00:06:44.960
every uncompressed tensor in the file adds up&nbsp;
to 58 megabytes, under half a percent. Inside a&nbsp;&nbsp;

00:06:44.960 --> 00:06:50.160
single attention block, the search gave the query&nbsp;
projection the cheapest format in its block, while&nbsp;&nbsp;

00:06:50.160 --> 00:06:55.520
the key and value neighbors beside it kept more&nbsp;
expensive ones. If you watch that same starved&nbsp;&nbsp;

00:06:55.520 --> 00:07:00.720
gate across the four size budgets, it starts&nbsp;
at just one bit, goes up to four bits at the&nbsp;&nbsp;

00:07:00.720 --> 00:07:06.160
intermediate three-bit budget and drops back under&nbsp;
two bits at the largest. This happens because a&nbsp;&nbsp;

00:07:06.160 --> 00:07:12.000
global budget optimizer isn't ranking tensors by&nbsp;
importance. It's trading bytes and it'll happily&nbsp;&nbsp;

00:07:12.000 --> 00:07:16.560
starve a tensor at a larger budget than it fed&nbsp;
it at a smaller one because the only thing it's&nbsp;&nbsp;

00:07:16.560 --> 00:07:20.960
protecting is the total. Every performance score&nbsp;
for these compressed builds comes from the lab&nbsp;&nbsp;

00:07:20.960 --> 00:07:25.920
that performed the compression, published on its&nbsp;
own model card, and nobody outside that lab has&nbsp;&nbsp;

00:07:25.920 --> 00:07:32.480
reproduced these comparisons. According to their&nbsp;
results, the recommended 11.8 GB file matches the&nbsp;&nbsp;

00:07:32.480 --> 00:07:41.040
uncompressed 53.8 GB original exactly on AIM25&nbsp;
and Live Codebench, representing a 4.6 time size&nbsp;&nbsp;

00:07:41.040 --> 00:07:46.960
reduction. On GPQA Diamond, this recommended&nbsp;
build trails the original by only half a point,&nbsp;&nbsp;

00:07:46.960 --> 00:07:51.760
and the scores remain high even as you step down&nbsp;
to the threebit build, which is a gigabyte and&nbsp;&nbsp;

00:07:51.760 --> 00:07:59.200
a half smaller. At 10.09 GB, this 3bit version&nbsp;
still hits a perfect 100 on that main reasoning&nbsp;&nbsp;

00:07:59.200 --> 00:08:04.640
benchmark, while trailing the recommended build&nbsp;
by only half a point on GPQA Diamond. And near&nbsp;&nbsp;

00:08:04.640 --> 00:08:11.760
the bottom of the size scale, their 2.75 bit&nbsp;
build actually recovers 101.8% 8% of the original&nbsp;&nbsp;

00:08:11.760 --> 00:08:18.800
zeroshot average, scoring above the uncompressed&nbsp;
baseline. At a matched 8.4 GB, their build beats&nbsp;&nbsp;

00:08:18.800 --> 00:08:24.960
Unslaught's dynamic quantizations by 10 points&nbsp;
on Aim25. Because the gap between the recommended&nbsp;&nbsp;

00:08:24.960 --> 00:08:30.080
build and the one a gigabyte and a half smaller&nbsp;
is only half a point on one benchmark, picking a&nbsp;&nbsp;

00:08:30.080 --> 00:08:36.400
build is not really a quality decision. The base&nbsp;
model's configuration lists 64 transformer layers&nbsp;&nbsp;

00:08:36.400 --> 00:08:42.240
in a repeating pattern of three linear attention&nbsp;
layers followed by one full attention layer. That&nbsp;&nbsp;

00:08:42.240 --> 00:08:49.040
leaves 48 gated delta layers and 16 full attention&nbsp;
layers that the files own tensor names confirm. A&nbsp;&nbsp;

00:08:49.040 --> 00:08:54.640
llama.cpp bug report describes the running model&nbsp;
in those exact terms, which matters because the&nbsp;&nbsp;

00:08:54.640 --> 00:08:59.840
way these layers process information changes&nbsp;
how memory behaves. While a full attention&nbsp;&nbsp;

00:08:59.840 --> 00:09:04.880
layer has to keep every token of the conversation&nbsp;
available, so its memory grows with every word,&nbsp;&nbsp;

00:09:04.880 --> 00:09:10.400
a recurrent layer keeps one fixed size summary&nbsp;
that is the same size after 10 words as after&nbsp;&nbsp;

00:09:10.400 --> 00:09:17.280
10,000. That fixed size summary is the reason 48&nbsp;
of its 64 layers never accumulate conversation&nbsp;&nbsp;

00:09:17.280 --> 00:09:23.040
history. And that is the reason a 12 GB graphics&nbsp;
card is in this conversation at all. We can work&nbsp;&nbsp;

00:09:23.040 --> 00:09:28.560
this out directly from the base configuration.&nbsp;
The model has 16 attention layers and each layer&nbsp;&nbsp;

00:09:28.560 --> 00:09:36.320
holds two key value tensors containing four heads&nbsp;
of 256 numbers stored at two bytes a piece. That&nbsp;&nbsp;

00:09:36.320 --> 00:09:42.800
multiplies out to 64 kilob for every single token&nbsp;
in the conversation. Compressing that cache brings&nbsp;&nbsp;

00:09:42.800 --> 00:09:49.040
the price down. Drop it to 8 bits and you spend&nbsp;
34 kilob a token. Squeeze it to four bits and&nbsp;&nbsp;

00:09:49.040 --> 00:09:56.400
you only spend 18. Meanwhile, those 48 recurrent&nbsp;
layers cost a flat 150 megbytes at any context&nbsp;&nbsp;

00:09:56.400 --> 00:10:03.600
length. So when Alibaba advertises a native&nbsp;
262,000 token context, that window has a very&nbsp;&nbsp;

00:10:03.600 --> 00:10:12.080
real price. At full precision, the cache alone&nbsp;
needs 16 GB. That drops to 8 1/2 GB at 8 bit and&nbsp;&nbsp;

00:10:12.080 --> 00:10:18.080
4 1/2 GB at 4bit. We can check that arithmetic&nbsp;
against a machine known to work. A developer&nbsp;&nbsp;

00:10:18.080 --> 00:10:24.480
running this model at full context on a 16 GB card&nbsp;
has to use a 4-bit cache, which the math puts at&nbsp;&nbsp;

00:10:24.480 --> 00:10:31.920
4 1/2 GB. If all 64 layers were attention, that&nbsp;
cache would require 18 GB and it wouldn't fit on&nbsp;&nbsp;

00:10:31.920 --> 00:10:37.600
their card at all. So, what does that actually&nbsp;
leave for our 12 GB card? But what happens at&nbsp;&nbsp;

00:10:37.600 --> 00:10:42.560
the long context this model advertises on the&nbsp;
software your card would actually be running,&nbsp;&nbsp;

00:10:42.560 --> 00:10:49.040
like llama.cpp. In late August, a developer&nbsp;
filed a bug report showing that at long context,&nbsp;&nbsp;

00:10:49.040 --> 00:10:54.560
the model occasionally generates an end of text&nbsp;
marker as its very first token with absolutely no&nbsp;&nbsp;

00:10:54.560 --> 00:11:00.240
error. The failure is stubborn, reproducing on&nbsp;
the graphics card, on the CPU with the same build,&nbsp;&nbsp;

00:11:00.240 --> 00:11:05.280
and on an independent fork of the codebase. But&nbsp;
the reporter's differential test points to an&nbsp;&nbsp;

00:11:05.280 --> 00:11:11.840
engine defect rather than the weights themselves&nbsp;
since the exact same prompt passes cleanly on VLM.&nbsp;&nbsp;

00:11:11.840 --> 00:11:19.280
When testing context capacity, around 113,000&nbsp;
tokens passes cleanly, but around 130,000 fails&nbsp;&nbsp;

00:11:19.280 --> 00:11:24.240
with that instant end of text marker, while a&nbsp;
slightly deeper prompt works perfectly fine.&nbsp;&nbsp;

00:11:24.240 --> 00:11:29.440
Again, keep in mind this was measured on another&nbsp;
lab's quantizations rather than this build. And&nbsp;&nbsp;

00:11:29.440 --> 00:11:35.360
a sibling model with only 30 recurrent layers&nbsp;
survives much deeper. The reporter eventually&nbsp;&nbsp;

00:11:35.360 --> 00:11:40.240
withdrew his own proposed threshold because of&nbsp;
these random holes of failure, advising that&nbsp;&nbsp;

00:11:40.240 --> 00:11:45.600
there is no safe limit to quote, "and you simply&nbsp;
have to validate the exact depths you plan to&nbsp;&nbsp;

00:11:45.600 --> 00:11:52.000
serve." Olama pulls this exact build straight from&nbsp;
hugging face with a single command. And although a&nbsp;&nbsp;

00:11:52.000 --> 00:11:57.040
maintainer demonstrated it working, actual usage&nbsp;
breaks on the chat template rather than your&nbsp;&nbsp;

00:11:57.040 --> 00:12:03.040
graphics card. The built-in template refuses any&nbsp;
system message that isn't first. So if you send&nbsp;&nbsp;

00:12:03.040 --> 00:12:09.280
one mid conversation, you get an empty string,&nbsp;
a finished status, and absolutely no error,&nbsp;&nbsp;

00:12:09.280 --> 00:12:14.640
fixing it takes a threeline patch in a model&nbsp;
file. And since this exact fault was filed twice&nbsp;&nbsp;

00:12:14.640 --> 00:12:21.520
in August against the plain weights, it isn't this&nbsp;
build's doing. Switching to llama.cpp's multimodal&nbsp;&nbsp;

00:12:21.520 --> 00:12:26.800
tool is even worse because failing to reserve&nbsp;
memory while encoding an image crashes the process&nbsp;&nbsp;

00:12:26.800 --> 00:12:32.400
with a segmentation fault instead of reporting&nbsp;
an error. Its crash log shows the tool dying on&nbsp;&nbsp;

00:12:32.400 --> 00:12:39.840
a failed attempt to allocate just 247 megabytes&nbsp;
while reading a single picture. LM Studio avoids&nbsp;&nbsp;

00:12:39.840 --> 00:12:45.360
crashing entirely, but its offload slider will&nbsp;
quietly push excess weights into ordinary system&nbsp;&nbsp;

00:12:45.360 --> 00:12:51.120
memory rather than refuse to load them. The&nbsp;
lab's entire LM Studio guidance is a single&nbsp;&nbsp;

00:12:51.120 --> 00:12:56.400
sentence telling you to search the repository, and&nbsp;
nobody has published a test of this build on a 12&nbsp;&nbsp;

00:12:56.400 --> 00:13:02.320
GB card. None of the three applications tells you&nbsp;
when the model won't fit, which is why the only&nbsp;&nbsp;

00:13:02.320 --> 00:13:08.320
way to know if it runs is to count your bites&nbsp;
before you click download. In early September,&nbsp;&nbsp;

00:13:08.320 --> 00:13:14.640
a developer running a 16 GB Blackwell card with&nbsp;
a specific toolkit version found that Llama.cpp's&nbsp;&nbsp;

00:13:14.640 --> 00:13:20.720
own back-end test failed matrix multiplication&nbsp;
for three formats, including the exact format this&nbsp;&nbsp;

00:13:20.720 --> 00:13:26.720
build is named after. The reported errors reached&nbsp;
up to 1.1, which is large enough to mean you just&nbsp;&nbsp;

00:13:26.720 --> 00:13:32.320
get random garbage output, but the neighboring&nbsp;
formats in that same run passed, making the error&nbsp;&nbsp;

00:13:32.320 --> 00:13:38.880
highly specific. Then a second user reported the&nbsp;
same garbage output on another Blackwell card,&nbsp;&nbsp;

00:13:38.880 --> 00:13:45.040
fixing it locally with a small change to the bite&nbsp;
handling code. But a third user on the same chip&nbsp;&nbsp;

00:13:45.040 --> 00:13:49.680
generation couldn't reproduce it, arguing the&nbsp;
fault lies in the build chain rather than the&nbsp;&nbsp;

00:13:49.680 --> 00:13:55.600
hardware since there's no chip specific path for&nbsp;
these formats. Anyway, while this debate is still&nbsp;&nbsp;

00:13:55.600 --> 00:14:01.120
unresolved, choosing a file assembled from 11&nbsp;
formats means you're depending on 11 distinct&nbsp;&nbsp;

00:14:01.120 --> 00:14:07.280
code paths. And those least used paths are exactly&nbsp;
where the arguments are still happening. The&nbsp;&nbsp;

00:14:07.280 --> 00:14:17.120
recommended model file itself is 11.77 GB, but on&nbsp;
your card, those weights consume 10.96 GB of VRAM.&nbsp;&nbsp;

00:14:17.120 --> 00:14:23.600
Adding the separate vision projector eats another&nbsp;
0.87 GB of memory, which brings the combined total&nbsp;&nbsp;

00:14:23.600 --> 00:14:33.680
to 11.83 GB and leaves you with a tiny pocket of&nbsp;
just 174 MGB. Subtracting the flat 150 megabytes&nbsp;&nbsp;

00:14:33.680 --> 00:14:40.240
demanded by the recurrent state layers leaves&nbsp;
24 megabytes of free headroom. At 64 kilobytes&nbsp;&nbsp;

00:14:40.240 --> 00:14:48.000
per token, that remaining space can hold at most&nbsp;
about 386 tokens and fewer in practice. Of course,&nbsp;&nbsp;

00:14:48.000 --> 00:14:53.040
that is a theoretical ceiling that completely&nbsp;
ignores whatever graphics memory your desktop&nbsp;&nbsp;

00:14:53.040 --> 00:14:57.840
operating system is already using, not to mention&nbsp;
the working memory that the inference software&nbsp;&nbsp;

00:14:57.840 --> 00:15:04.240
itself reserves before it allocates a single token&nbsp;
of cash. If you try to step up to the largest&nbsp;&nbsp;

00:15:04.240 --> 00:15:12.080
12.12 GB build, adding the projector overshoots&nbsp;
your card's memory by 308 MGB, meaning it cannot&nbsp;&nbsp;

00:15:12.080 --> 00:15:18.320
hold its own eyes at zero context. But if you&nbsp;
go text only and work out the math without that&nbsp;&nbsp;

00:15:18.320 --> 00:15:25.280
vision projector, the recommended build leaves 912&nbsp;
megabytes of free space, which translates to about&nbsp;&nbsp;

00:15:25.280 --> 00:15:34.320
14 12,000 tokens of context at full precision or&nbsp;
up to 27,000 tokens at 8 bit. Your 12 GB graphics&nbsp;&nbsp;

00:15:34.320 --> 00:15:40.640
card is fully capable of running this 27 billion&nbsp;
parameter model, but it simply cannot handle the&nbsp;&nbsp;

00:15:40.640 --> 00:15:46.800
specific 11.8 8 GB build that the laboratory&nbsp;
recommends once that build can see. The file&nbsp;&nbsp;

00:15:46.800 --> 00:15:54.640
you actually want is the 3bit build which comes&nbsp;
in at 10.09 GB on the download page or about 9.40&nbsp;&nbsp;

00:15:54.640 --> 00:15:59.840
in your card's own units. Once you load those&nbsp;
weights together with the vision projector,&nbsp;&nbsp;

00:15:59.840 --> 00:16:07.200
you're left with 1,624 megabytes of headroom. That&nbsp;
leaves a ceiling of about 26,000 tokens of active&nbsp;&nbsp;

00:16:07.200 --> 00:16:13.040
conversation with images enabled, which jumps to&nbsp;
40,000 tokens if you're running text only. If you&nbsp;&nbsp;

00:16:13.040 --> 00:16:18.800
optimize your cache or step down to the even&nbsp;
smaller 2.75 bit build, those numbers stretch&nbsp;&nbsp;

00:16:18.800 --> 00:16:24.000
even further. Keep in mind, these are absolute&nbsp;
mathematical ceilings that ignore the runtime's&nbsp;&nbsp;

00:16:24.000 --> 00:16:29.040
own working buffers, so your real capacity&nbsp;
is lower. According to the laboratory's own&nbsp;&nbsp;

00:16:29.040 --> 00:16:35.040
evaluation, that downgrade costs half a point of&nbsp;
GPQA diamond and about a point of live codebench&nbsp;&nbsp;

00:16:35.040 --> 00:16:41.600
with the perfect score of 100 on AIM25 completely&nbsp;
unchanged. And that tiny reduction in accuracy&nbsp;&nbsp;

00:16:41.600 --> 00:16:47.600
buys you roughly 26,000 tokens of conversation.&nbsp;
Two separate teams have filed the same request&nbsp;&nbsp;

00:16:47.600 --> 00:16:53.280
on the lab's repository, but with no reply so far,&nbsp;
outside developers can only recover the final map&nbsp;&nbsp;

00:16:53.280 --> 00:16:58.960
of which format went to which tensor without any&nbsp;
way to actually run the search themselves. They've&nbsp;&nbsp;

00:16:58.960 --> 00:17:03.440
asked for the missing pieces because several&nbsp;
critical steps like the candidate generation&nbsp;&nbsp;

00:17:03.440 --> 00:17:09.040
are completely absent from the public code.&nbsp;
Specifically, they're missing the per tensor cost&nbsp;&nbsp;

00:17:09.040 --> 00:17:13.920
model, the settings for two of the budgets, and&nbsp;
the export code that assembles the mixed format&nbsp;&nbsp;

00:17:13.920 --> 00:17:19.280
file. One of those teams wants the code because&nbsp;
their server fleet is limited by memory bandwidth&nbsp;&nbsp;

00:17:19.280 --> 00:17:24.720
rather than capacity, making a smaller file a&nbsp;
direct speed win, and this mixed format is their&nbsp;&nbsp;

00:17:24.720 --> 00:17:31.360
only real deployment path. The budget paper names&nbsp;
mixed precision quantization, non-uniform pruning,&nbsp;&nbsp;

00:17:31.360 --> 00:17:36.400
and choosing which experts to keep as the same&nbsp;
problem of assigning one of K options to each of&nbsp;&nbsp;

00:17:36.400 --> 00:17:42.320
N groups, which means this is a method for fitting&nbsp;
almost anything into a fixed memory footprint.&nbsp;&nbsp;

00:17:42.320 --> 00:17:47.120
So, while the lab's release gives us a finished&nbsp;
answer to one specific model's budget, the one&nbsp;&nbsp;

00:17:47.120 --> 00:17:52.320
thing they haven't shipped yet is the method&nbsp;
for anyone else's. Anyways, that's all, folks.

