WEBVTT
Kind: captions
Language: en

00:00:00.000 --> 00:00:01.830 align:start position:0%
 
Hi<00:00:00.320><c> guys,</c><00:00:00.680><c> welcome</c><00:00:00.920><c> back.</c><00:00:01.520><c> In</c><00:00:01.600><c> this</c><00:00:01.720><c> video,</c>

00:00:01.830 --> 00:00:01.840 align:start position:0%
Hi guys, welcome back. In this video,
 

00:00:01.840 --> 00:00:04.070 align:start position:0%
Hi guys, welcome back. In this video,
we'll<00:00:01.920><c> be</c><00:00:02.000><c> talking</c><00:00:02.280><c> about</c><00:00:02.720><c> how</c><00:00:02.920><c> you</c><00:00:03.080><c> can</c><00:00:03.360><c> run</c><00:00:03.760><c> a</c>

00:00:04.070 --> 00:00:04.080 align:start position:0%
we'll be talking about how you can run a
 

00:00:04.080 --> 00:00:08.230 align:start position:0%
we'll be talking about how you can run a
Qwen<00:00:04.680><c> in</c><00:00:04.800><c> an</c><00:00:05.040><c> Apple</c>

00:00:08.230 --> 00:00:08.240 align:start position:0%
 
 

00:00:08.240 --> 00:00:12.150 align:start position:0%
 
M4<00:00:08.880><c> Mac</c><00:00:09.400><c> mini</c><00:00:09.800><c> machine</c><00:00:10.320><c> with</c><00:00:10.600><c> just</c><00:00:10.880><c> 24</c><00:00:11.440><c> GB</c><00:00:11.840><c> of</c>

00:00:12.150 --> 00:00:12.160 align:start position:0%
M4 Mac mini machine with just 24 GB of
 

00:00:12.160 --> 00:00:16.110 align:start position:0%
M4 Mac mini machine with just 24 GB of
unified<00:00:12.920><c> memory.</c><00:00:13.920><c> We</c><00:00:14.120><c> know</c><00:00:14.280><c> that</c><00:00:14.840><c> Qwen</c><00:00:15.120><c> 3.8</c><00:00:15.640><c> 27</c>

00:00:16.110 --> 00:00:16.120 align:start position:0%
unified memory. We know that Qwen 3.8 27
 

00:00:16.120 --> 00:00:17.870 align:start position:0%
unified memory. We know that Qwen 3.8 27
billion<00:00:16.400><c> parameter</c><00:00:16.880><c> model</c><00:00:17.280><c> will</c><00:00:17.400><c> be</c><00:00:17.560><c> of</c><00:00:17.720><c> at</c>

00:00:17.870 --> 00:00:17.880 align:start position:0%
billion parameter model will be of at
 

00:00:17.880 --> 00:00:22.310 align:start position:0%
billion parameter model will be of at
least<00:00:18.240><c> 15</c><00:00:18.640><c> GB</c><00:00:19.120><c> of</c><00:00:19.360><c> size.</c><00:00:20.400><c> And</c><00:00:21.160><c> loading</c><00:00:22.000><c> the</c>

00:00:22.310 --> 00:00:22.320 align:start position:0%
least 15 GB of size. And loading the
 

00:00:22.320 --> 00:00:25.910 align:start position:0%
least 15 GB of size. And loading the
entire<00:00:22.920><c> model</c><00:00:23.960><c> in</c><00:00:24.120><c> the</c><00:00:24.680><c> unified</c><00:00:25.200><c> memory</c><00:00:25.760><c> will</c>

00:00:25.910 --> 00:00:25.920 align:start position:0%
entire model in the unified memory will
 

00:00:25.920 --> 00:00:28.230 align:start position:0%
entire model in the unified memory will
not<00:00:26.120><c> only</c><00:00:26.280><c> load</c><00:00:26.560><c> the</c><00:00:26.680><c> model,</c><00:00:27.160><c> but</c><00:00:27.320><c> also</c><00:00:27.680><c> loads</c>

00:00:28.230 --> 00:00:28.240 align:start position:0%
not only load the model, but also loads
 

00:00:28.240 --> 00:00:31.430 align:start position:0%
not only load the model, but also loads
the<00:00:28.520><c> KV</c><00:00:28.880><c> cache,</c><00:00:29.480><c> runtime,</c><00:00:30.280><c> and</c><00:00:30.680><c> the</c><00:00:30.960><c> Mac</c>

00:00:31.430 --> 00:00:31.440 align:start position:0%
the KV cache, runtime, and the Mac
 

00:00:31.440 --> 00:00:33.910 align:start position:0%
the KV cache, runtime, and the Mac
operating<00:00:31.840><c> system</c><00:00:32.360><c> all</c><00:00:32.599><c> together.</c><00:00:33.560><c> And</c><00:00:33.760><c> while</c>

00:00:33.910 --> 00:00:33.920 align:start position:0%
operating system all together. And while
 

00:00:33.920 --> 00:00:36.950 align:start position:0%
operating system all together. And while
you<00:00:34.160><c> load</c><00:00:34.560><c> all</c><00:00:34.800><c> of</c><00:00:35.000><c> them</c><00:00:35.440><c> in</c><00:00:35.560><c> the</c><00:00:35.680><c> VRAM,</c><00:00:36.560><c> it</c><00:00:36.720><c> is</c>

00:00:36.950 --> 00:00:36.960 align:start position:0%
you load all of them in the VRAM, it is
 

00:00:36.960 --> 00:00:39.310 align:start position:0%
you load all of them in the VRAM, it is
definitely<00:00:37.760><c> going</c><00:00:38.080><c> to</c><00:00:38.320><c> hit</c><00:00:38.600><c> the</c><00:00:38.840><c> memory</c>

00:00:39.310 --> 00:00:39.320 align:start position:0%
definitely going to hit the memory
 

00:00:39.320 --> 00:00:41.710 align:start position:0%
definitely going to hit the memory
ceiling<00:00:40.040><c> for</c><00:00:40.360><c> you,</c><00:00:40.960><c> and</c><00:00:41.240><c> it</c><00:00:41.320><c> is</c><00:00:41.400><c> going</c><00:00:41.520><c> to</c><00:00:41.600><c> be</c>

00:00:41.710 --> 00:00:41.720 align:start position:0%
ceiling for you, and it is going to be
 

00:00:41.720 --> 00:00:44.230 align:start position:0%
ceiling for you, and it is going to be
getting<00:00:42.000><c> you</c><00:00:42.440><c> the</c><00:00:42.680><c> out</c><00:00:42.880><c> of</c><00:00:43.080><c> memory</c><00:00:43.440><c> exception.</c>

00:00:44.230 --> 00:00:44.240 align:start position:0%
getting you the out of memory exception.
 

00:00:44.240 --> 00:00:46.950 align:start position:0%
getting you the out of memory exception.
So,<00:00:44.480><c> how</c><00:00:44.720><c> can</c><00:00:44.960><c> we</c><00:00:45.120><c> even</c><00:00:45.480><c> handle</c><00:00:46.040><c> the</c><00:00:46.160><c> situation</c>

00:00:46.950 --> 00:00:46.960 align:start position:0%
So, how can we even handle the situation
 

00:00:46.960 --> 00:00:49.790 align:start position:0%
So, how can we even handle the situation
of<00:00:47.320><c> these</c><00:00:47.720><c> kind</c><00:00:48.040><c> of</c><00:00:48.280><c> memory</c><00:00:48.680><c> problem?</c><00:00:49.400><c> And</c><00:00:49.640><c> can</c>

00:00:49.790 --> 00:00:49.800 align:start position:0%
of these kind of memory problem? And can
 

00:00:49.800 --> 00:00:52.230 align:start position:0%
of these kind of memory problem? And can
we<00:00:49.920><c> even</c><00:00:50.160><c> run</c><00:00:50.440><c> a</c><00:00:50.600><c> Qwen</c><00:00:50.960><c> 3.8</c><00:00:51.520><c> 27</c><00:00:51.960><c> billion</c>

00:00:52.230 --> 00:00:52.240 align:start position:0%
we even run a Qwen 3.8 27 billion
 

00:00:52.240 --> 00:00:54.870 align:start position:0%
we even run a Qwen 3.8 27 billion
parameter<00:00:52.720><c> model</c><00:00:53.440><c> in</c><00:00:53.600><c> this</c><00:00:53.800><c> machine?</c><00:00:54.480><c> And</c><00:00:54.720><c> is</c>

00:00:54.870 --> 00:00:54.880 align:start position:0%
parameter model in this machine? And is
 

00:00:54.880 --> 00:00:57.830 align:start position:0%
parameter model in this machine? And is
it<00:00:55.360><c> just</c><00:00:55.680><c> the</c><00:00:55.800><c> problem</c><00:00:56.280><c> with</c><00:00:56.640><c> the</c><00:00:57.400><c> model</c>

00:00:57.830 --> 00:00:57.840 align:start position:0%
it just the problem with the model
 

00:00:57.840 --> 00:01:00.190 align:start position:0%
it just the problem with the model
itself,<00:00:58.560><c> or</c><00:00:58.840><c> is</c><00:00:59.000><c> it</c><00:00:59.240><c> the</c><00:00:59.360><c> problem</c><00:00:59.840><c> with</c><00:01:00.000><c> the</c>

00:01:00.190 --> 00:01:00.200 align:start position:0%
itself, or is it the problem with the
 

00:01:00.200 --> 00:01:02.670 align:start position:0%
itself, or is it the problem with the
quantization<00:01:01.080><c> that</c><00:01:01.280><c> we</c><00:01:01.400><c> have?</c><00:01:01.960><c> But</c><00:01:02.320><c> what</c><00:01:02.520><c> if</c>

00:01:02.670 --> 00:01:02.680 align:start position:0%
quantization that we have? But what if
 

00:01:02.680 --> 00:01:06.310 align:start position:0%
quantization that we have? But what if
we<00:01:02.840><c> have</c><00:01:03.240><c> a</c><00:01:03.440><c> quantization</c><00:01:04.839><c> of</c><00:01:05.519><c> the</c><00:01:05.640><c> same</c><00:01:05.920><c> exact</c>

00:01:06.310 --> 00:01:06.320 align:start position:0%
we have a quantization of the same exact
 

00:01:06.320 --> 00:01:08.910 align:start position:0%
we have a quantization of the same exact
model<00:01:06.920><c> with</c><00:01:07.040><c> just</c><00:01:07.440><c> two-bit</c><00:01:08.120><c> quantization</c>

00:01:08.910 --> 00:01:08.920 align:start position:0%
model with just two-bit quantization
 

00:01:08.920 --> 00:01:11.150 align:start position:0%
model with just two-bit quantization
instead<00:01:09.200><c> of</c><00:01:09.320><c> the</c><00:01:09.520><c> four-bit</c><00:01:10.080><c> quantization?</c>

00:01:11.150 --> 00:01:11.160 align:start position:0%
instead of the four-bit quantization?
 

00:01:11.160 --> 00:01:14.270 align:start position:0%
instead of the four-bit quantization?
Can<00:01:11.440><c> we</c><00:01:11.640><c> run</c><00:01:11.880><c> that</c><00:01:12.200><c> at</c><00:01:12.360><c> all?</c><00:01:13.080><c> Well,</c><00:01:13.840><c> welcome</c><00:01:14.200><c> to</c>

00:01:14.270 --> 00:01:14.280 align:start position:0%
Can we run that at all? Well, welcome to
 

00:01:14.280 --> 00:01:17.630 align:start position:0%
Can we run that at all? Well, welcome to
the<00:01:14.480><c> Qwen</c><00:01:14.920><c> model</c><00:01:15.640><c> quantized</c><00:01:16.280><c> to</c><00:01:16.800><c> two-bit</c>

00:01:17.630 --> 00:01:17.640 align:start position:0%
the Qwen model quantized to two-bit
 

00:01:17.640 --> 00:01:22.190 align:start position:0%
the Qwen model quantized to two-bit
called<00:01:18.080><c> as</c><00:01:18.320><c> the</c><00:01:18.520><c> Qwen</c><00:01:18.840><c> 3.8</c><00:01:19.560><c> 27</c><00:01:20.120><c> billion</c><00:01:21.000><c> GSQ</c>

00:01:22.190 --> 00:01:22.200 align:start position:0%
called as the Qwen 3.8 27 billion GSQ
 

00:01:22.200 --> 00:01:26.470 align:start position:0%
called as the Qwen 3.8 27 billion GSQ
RCO<00:01:23.120><c> IQ2</c><00:01:24.120><c> QS</c><00:01:24.680><c> model.</c><00:01:25.400><c> And</c><00:01:25.560><c> this</c><00:01:25.760><c> model</c><00:01:26.120><c> can</c>

00:01:26.470 --> 00:01:26.480 align:start position:0%
RCO IQ2 QS model. And this model can
 

00:01:26.480 --> 00:01:30.750 align:start position:0%
RCO IQ2 QS model. And this model can
load<00:01:26.960><c> in</c><00:01:27.120><c> the</c><00:01:27.640><c> 24</c><00:01:28.200><c> GB</c><00:01:28.600><c> of</c><00:01:29.200><c> unified</c><00:01:29.920><c> machine,</c>

00:01:30.750 --> 00:01:30.760 align:start position:0%
load in the 24 GB of unified machine,
 

00:01:30.760 --> 00:01:33.550 align:start position:0%
load in the 24 GB of unified machine,
and<00:01:31.160><c> it</c><00:01:31.360><c> can</c><00:01:31.840><c> support</c><00:01:32.400><c> a</c><00:01:32.520><c> full</c><00:01:33.000><c> GPU</c>

00:01:33.550 --> 00:01:33.560 align:start position:0%
and it can support a full GPU
 

00:01:33.560 --> 00:01:35.390 align:start position:0%
and it can support a full GPU
offloading,<00:01:34.320><c> as</c><00:01:34.560><c> well</c><00:01:34.680><c> as</c><00:01:35.000><c> it</c><00:01:35.160><c> has</c>

00:01:35.390 --> 00:01:35.400 align:start position:0%
offloading, as well as it has
 

00:01:35.400 --> 00:01:37.830 align:start position:0%
offloading, as well as it has
multi-token<00:01:36.160><c> prediction</c><00:01:36.720><c> enabled</c><00:01:37.320><c> as</c><00:01:37.560><c> well.</c>

00:01:37.830 --> 00:01:37.840 align:start position:0%
multi-token prediction enabled as well.
 

00:01:37.840 --> 00:01:40.950 align:start position:0%
multi-token prediction enabled as well.
And<00:01:38.040><c> this</c><00:01:38.200><c> model</c><00:01:38.720><c> can</c><00:01:39.000><c> easily</c><00:01:39.680><c> fit</c><00:01:40.160><c> in</c><00:01:40.440><c> an</c>

00:01:40.950 --> 00:01:40.960 align:start position:0%
And this model can easily fit in an
 

00:01:40.960 --> 00:01:45.350 align:start position:0%
And this model can easily fit in an
Apple<00:01:41.520><c> M4</c><00:01:42.400><c> machine</c><00:01:43.040><c> of</c><00:01:43.440><c> 24</c><00:01:44.040><c> GB</c><00:01:44.480><c> of</c><00:01:44.760><c> unified</c>

00:01:45.350 --> 00:01:45.360 align:start position:0%
Apple M4 machine of 24 GB of unified
 

00:01:45.360 --> 00:01:48.630 align:start position:0%
Apple M4 machine of 24 GB of unified
memory,<00:01:46.120><c> which</c><00:01:46.280><c> includes</c><00:01:47.200><c> the</c><00:01:47.640><c> model,</c><00:01:48.280><c> KV</c>

00:01:48.630 --> 00:01:48.640 align:start position:0%
memory, which includes the model, KV
 

00:01:48.640 --> 00:01:50.790 align:start position:0%
memory, which includes the model, KV
cache,<00:01:49.080><c> runtime,</c><00:01:49.600><c> and</c><00:01:49.800><c> Mac</c><00:01:50.040><c> operating</c><00:01:50.280><c> system</c>

00:01:50.790 --> 00:01:50.800 align:start position:0%
cache, runtime, and Mac operating system
 

00:01:50.800 --> 00:01:52.870 align:start position:0%
cache, runtime, and Mac operating system
without<00:01:51.160><c> hitting</c><00:01:51.440><c> the</c><00:01:51.600><c> memory</c><00:01:52.080><c> ceiling</c><00:01:52.640><c> as</c>

00:01:52.870 --> 00:01:52.880 align:start position:0%
without hitting the memory ceiling as
 

00:01:52.880 --> 00:01:54.870 align:start position:0%
without hitting the memory ceiling as
well.<00:01:53.080><c> So,</c><00:01:53.240><c> it</c><00:01:53.360><c> can</c><00:01:53.680><c> easily</c><00:01:54.080><c> load</c><00:01:54.400><c> everything</c>

00:01:54.870 --> 00:01:54.880 align:start position:0%
well. So, it can easily load everything
 

00:01:54.880 --> 00:01:57.510 align:start position:0%
well. So, it can easily load everything
for<00:01:55.160><c> you</c><00:01:55.760><c> within</c><00:01:56.160><c> your</c><00:01:56.560><c> Apple</c><00:01:56.880><c> machine,</c><00:01:57.360><c> which</c>

00:01:57.510 --> 00:01:57.520 align:start position:0%
for you within your Apple machine, which
 

00:01:57.520 --> 00:01:59.150 align:start position:0%
for you within your Apple machine, which
is<00:01:57.720><c> quite</c><00:01:58.160><c> amazing.</c><00:01:58.600><c> So,</c><00:01:58.760><c> the</c><00:01:58.880><c> memory</c>

00:01:59.150 --> 00:01:59.160 align:start position:0%
is quite amazing. So, the memory
 

00:01:59.160 --> 00:02:00.830 align:start position:0%
is quite amazing. So, the memory
requirement<00:01:59.720><c> is</c><00:01:59.800><c> going</c><00:01:59.960><c> to</c><00:02:00.040><c> be</c><00:02:00.120><c> so</c><00:02:00.400><c> much</c><00:02:00.600><c> less</c>

00:02:00.830 --> 00:02:00.840 align:start position:0%
requirement is going to be so much less
 

00:02:00.840 --> 00:02:03.390 align:start position:0%
requirement is going to be so much less
because<00:02:01.200><c> of</c><00:02:01.320><c> the</c><00:02:01.840><c> two-bit</c><00:02:02.160><c> quantization</c><00:02:03.200><c> that</c>

00:02:03.390 --> 00:02:03.400 align:start position:0%
because of the two-bit quantization that
 

00:02:03.400 --> 00:02:05.870 align:start position:0%
because of the two-bit quantization that
you<00:02:03.520><c> have</c><00:02:03.760><c> got</c><00:02:04.160><c> in</c><00:02:04.280><c> this</c><00:02:04.400><c> particular</c><00:02:05.080><c> model.</c>

00:02:05.870 --> 00:02:05.880 align:start position:0%
you have got in this particular model.
 

00:02:05.880 --> 00:02:07.750 align:start position:0%
you have got in this particular model.
So,<00:02:06.080><c> how</c><00:02:06.280><c> exactly</c><00:02:06.760><c> is</c><00:02:06.840><c> this</c><00:02:07.040><c> possible?</c><00:02:07.560><c> Will</c>

00:02:07.750 --> 00:02:07.760 align:start position:0%
So, how exactly is this possible? Will
 

00:02:07.760 --> 00:02:10.630 align:start position:0%
So, how exactly is this possible? Will
the<00:02:07.920><c> Qwen</c><00:02:08.200><c> 3.8</c><00:02:08.840><c> right</c><00:02:09.080><c> now</c><00:02:09.280><c> will</c><00:02:09.520><c> lose</c><00:02:09.880><c> its</c>

00:02:10.630 --> 00:02:10.640 align:start position:0%
the Qwen 3.8 right now will lose its
 

00:02:10.640 --> 00:02:13.430 align:start position:0%
the Qwen 3.8 right now will lose its
intelligence<00:02:11.280><c> ability</c><00:02:12.080><c> or</c><00:02:12.480><c> the</c><00:02:12.800><c> output</c><00:02:13.240><c> will</c>

00:02:13.430 --> 00:02:13.440 align:start position:0%
intelligence ability or the output will
 

00:02:13.440 --> 00:02:15.670 align:start position:0%
intelligence ability or the output will
be<00:02:13.600><c> of</c><00:02:13.800><c> less</c><00:02:14.040><c> quality</c><00:02:14.840><c> or</c><00:02:14.959><c> how</c><00:02:15.120><c> exactly</c><00:02:15.600><c> is</c>

00:02:15.670 --> 00:02:15.680 align:start position:0%
be of less quality or how exactly is
 

00:02:15.680 --> 00:02:17.910 align:start position:0%
be of less quality or how exactly is
this<00:02:15.920><c> happening?</c><00:02:16.280><c> What</c><00:02:16.440><c> exactly</c><00:02:17.080><c> is</c><00:02:17.280><c> this</c><00:02:17.560><c> new</c>

00:02:17.910 --> 00:02:17.920 align:start position:0%
this happening? What exactly is this new
 

00:02:17.920 --> 00:02:20.270 align:start position:0%
this happening? What exactly is this new
model<00:02:18.240><c> of</c><00:02:18.400><c> a</c><00:02:18.440><c> two-bit</c><00:02:18.840><c> quantization?</c><00:02:19.640><c> Well,</c>

00:02:20.270 --> 00:02:20.280 align:start position:0%
model of a two-bit quantization? Well,
 

00:02:20.280 --> 00:02:23.430 align:start position:0%
model of a two-bit quantization? Well,
this<00:02:20.560><c> particular</c><00:02:21.320><c> Qwen</c><00:02:21.880><c> model</c><00:02:22.520><c> is</c><00:02:22.760><c> a</c><00:02:22.840><c> standard</c>

00:02:23.430 --> 00:02:23.440 align:start position:0%
this particular Qwen model is a standard
 

00:02:23.440 --> 00:02:25.510 align:start position:0%
this particular Qwen model is a standard
Qwen<00:02:23.760><c> model,</c><00:02:24.120><c> but</c><00:02:24.360><c> instead</c><00:02:24.640><c> of</c><00:02:25.000><c> applying</c><00:02:25.400><c> the</c>

00:02:25.510 --> 00:02:25.520 align:start position:0%
Qwen model, but instead of applying the
 

00:02:25.520 --> 00:02:27.710 align:start position:0%
Qwen model, but instead of applying the
same<00:02:25.840><c> quantization</c><00:02:26.720><c> everywhere,</c><00:02:27.560><c> the</c>

00:02:27.710 --> 00:02:27.720 align:start position:0%
same quantization everywhere, the
 

00:02:27.720 --> 00:02:29.990 align:start position:0%
same quantization everywhere, the
technique<00:02:28.160><c> will</c><00:02:28.480><c> determine</c><00:02:29.240><c> which</c><00:02:29.480><c> tensors</c>

00:02:29.990 --> 00:02:30.000 align:start position:0%
technique will determine which tensors
 

00:02:30.000 --> 00:02:32.350 align:start position:0%
technique will determine which tensors
deserves<00:02:30.520><c> more</c><00:02:30.880><c> precision</c><00:02:31.600><c> and</c><00:02:31.840><c> which</c><00:02:32.040><c> can</c>

00:02:32.350 --> 00:02:32.360 align:start position:0%
deserves more precision and which can
 

00:02:32.360 --> 00:02:34.630 align:start position:0%
deserves more precision and which can
tolerate<00:02:32.880><c> the</c><00:02:33.120><c> aggressive</c><00:02:33.880><c> compression.</c>

00:02:34.630 --> 00:02:34.640 align:start position:0%
tolerate the aggressive compression.
 

00:02:34.640 --> 00:02:36.030 align:start position:0%
tolerate the aggressive compression.
That's<00:02:34.840><c> exactly</c><00:02:35.360><c> what</c><00:02:35.560><c> this</c><00:02:35.680><c> particular</c>

00:02:36.030 --> 00:02:36.040 align:start position:0%
That's exactly what this particular
 

00:02:36.040 --> 00:02:38.230 align:start position:0%
That's exactly what this particular
technique<00:02:36.480><c> does.</c><00:02:37.240><c> And</c><00:02:37.360><c> what</c><00:02:37.520><c> exactly</c><00:02:37.959><c> is</c><00:02:38.040><c> this</c>

00:02:38.230 --> 00:02:38.240 align:start position:0%
technique does. And what exactly is this
 

00:02:38.240 --> 00:02:39.750 align:start position:0%
technique does. And what exactly is this
technique<00:02:38.480><c> that</c><00:02:38.600><c> we're</c><00:02:38.720><c> talking</c><00:02:39.000><c> about?</c><00:02:39.560><c> The</c>

00:02:39.750 --> 00:02:39.760 align:start position:0%
technique that we're talking about? The
 

00:02:39.760 --> 00:02:43.430 align:start position:0%
technique that we're talking about? The
GSQ<00:02:40.680><c> RCO</c><00:02:41.800><c> or</c><00:02:41.959><c> otherwise</c><00:02:42.320><c> called</c><00:02:42.720><c> as</c><00:02:42.959><c> the</c>

00:02:43.430 --> 00:02:43.440 align:start position:0%
GSQ RCO or otherwise called as the
 

00:02:43.440 --> 00:02:45.949 align:start position:0%
GSQ RCO or otherwise called as the
Gumbel<00:02:43.800><c> Softmax</c><00:02:44.440><c> quantization,</c><00:02:45.640><c> which</c>

00:02:45.949 --> 00:02:45.959 align:start position:0%
Gumbel Softmax quantization, which
 

00:02:45.959 --> 00:02:48.590 align:start position:0%
Gumbel Softmax quantization, which
intelligently<00:02:46.680><c> optimizes</c><00:02:47.400><c> the</c><00:02:47.920><c> quantization</c>

00:02:48.590 --> 00:02:48.600 align:start position:0%
intelligently optimizes the quantization
 

00:02:48.600 --> 00:02:51.830 align:start position:0%
intelligently optimizes the quantization
value<00:02:49.320><c> while</c><00:02:49.640><c> RCO</c><00:02:50.200><c> intelligently</c><00:02:50.840><c> decide</c>

00:02:51.830 --> 00:02:51.840 align:start position:0%
value while RCO intelligently decide
 

00:02:51.840 --> 00:02:54.550 align:start position:0%
value while RCO intelligently decide
where<00:02:52.200><c> to</c><00:02:52.360><c> allocate</c><00:02:52.920><c> more</c><00:02:53.400><c> or</c><00:02:53.640><c> fewer</c><00:02:54.040><c> bits</c>

00:02:54.550 --> 00:02:54.560 align:start position:0%
where to allocate more or fewer bits
 

00:02:54.560 --> 00:02:57.949 align:start position:0%
where to allocate more or fewer bits
across<00:02:55.440><c> the</c><00:02:55.800><c> model's</c><00:02:56.760><c> uh</c><00:02:56.880><c> tensors.</c><00:02:57.800><c> So,</c>

00:02:57.949 --> 00:02:57.959 align:start position:0%
across the model's uh tensors. So,
 

00:02:57.959 --> 00:03:01.150 align:start position:0%
across the model's uh tensors. So,
essentially,<00:02:58.800><c> even</c><00:02:59.200><c> if</c><00:02:59.400><c> the</c><00:02:59.560><c> model</c><00:03:00.320><c> sizes</c><00:03:00.959><c> is</c>

00:03:01.150 --> 00:03:01.160 align:start position:0%
essentially, even if the model sizes is
 

00:03:01.160 --> 00:03:05.070 align:start position:0%
essentially, even if the model sizes is
going<00:03:01.440><c> to</c><00:03:01.519><c> be</c><00:03:01.720><c> reduced</c><00:03:02.680><c> from</c><00:03:03.480><c> the</c><00:03:03.720><c> 16</c><00:03:04.200><c> BPW,</c>

00:03:05.070 --> 00:03:05.080 align:start position:0%
going to be reduced from the 16 BPW,
 

00:03:05.080 --> 00:03:08.070 align:start position:0%
going to be reduced from the 16 BPW,
which<00:03:05.200><c> is</c><00:03:05.320><c> a</c><00:03:05.400><c> 16-bit</c><00:03:06.000><c> original</c><00:03:06.360><c> model,</c><00:03:07.040><c> to</c><00:03:07.480><c> a</c>

00:03:08.070 --> 00:03:08.080 align:start position:0%
which is a 16-bit original model, to a
 

00:03:08.080 --> 00:03:10.470 align:start position:0%
which is a 16-bit original model, to a
two-bit<00:03:08.560><c> quantization</c><00:03:09.320><c> model,</c><00:03:10.120><c> it</c><00:03:10.239><c> is</c><00:03:10.360><c> going</c>

00:03:10.470 --> 00:03:10.480 align:start position:0%
two-bit quantization model, it is going
 

00:03:10.480 --> 00:03:13.710 align:start position:0%
two-bit quantization model, it is going
to<00:03:10.560><c> be</c><00:03:10.680><c> off</c><00:03:11.200><c> almost</c><00:03:11.760><c> 6.4</c><00:03:12.640><c> time</c><00:03:12.920><c> of</c><00:03:13.120><c> a</c><00:03:13.200><c> size</c>

00:03:13.710 --> 00:03:13.720 align:start position:0%
to be off almost 6.4 time of a size
 

00:03:13.720 --> 00:03:16.150 align:start position:0%
to be off almost 6.4 time of a size
lower,<00:03:14.320><c> but</c><00:03:14.560><c> still</c><00:03:15.080><c> the</c><00:03:15.200><c> model</c><00:03:15.640><c> is</c><00:03:15.840><c> going</c><00:03:16.040><c> to</c>

00:03:16.150 --> 00:03:16.160 align:start position:0%
lower, but still the model is going to
 

00:03:16.160 --> 00:03:19.110 align:start position:0%
lower, but still the model is going to
give<00:03:16.440><c> you</c><00:03:16.600><c> an</c><00:03:16.880><c> amazing</c><00:03:17.600><c> precision</c><00:03:18.360><c> over</c><00:03:18.519><c> here.</c>

00:03:19.110 --> 00:03:19.120 align:start position:0%
give you an amazing precision over here.
 

00:03:19.120 --> 00:03:21.310 align:start position:0%
give you an amazing precision over here.
That<00:03:19.360><c> is</c><00:03:19.800><c> the</c><00:03:19.959><c> power</c><00:03:20.480><c> of</c><00:03:20.720><c> this</c><00:03:20.920><c> particular</c>

00:03:21.310 --> 00:03:21.320 align:start position:0%
That is the power of this particular
 

00:03:21.320 --> 00:03:23.509 align:start position:0%
That is the power of this particular
model<00:03:21.720><c> itself.</c><00:03:22.280><c> And</c><00:03:22.400><c> that's</c><00:03:22.600><c> the</c><00:03:22.680><c> reason</c><00:03:22.920><c> why</c>

00:03:23.509 --> 00:03:23.519 align:start position:0%
model itself. And that's the reason why
 

00:03:23.519 --> 00:03:25.830 align:start position:0%
model itself. And that's the reason why
even<00:03:23.760><c> though</c><00:03:23.920><c> the</c><00:03:24.040><c> size</c><00:03:24.480><c> of</c><00:03:24.600><c> the</c><00:03:24.760><c> model</c><00:03:25.320><c> is</c><00:03:25.640><c> so</c>

00:03:25.830 --> 00:03:25.840 align:start position:0%
even though the size of the model is so
 

00:03:25.840 --> 00:03:28.150 align:start position:0%
even though the size of the model is so
much<00:03:26.120><c> smaller,</c><00:03:26.680><c> the</c><00:03:26.840><c> quality</c><00:03:27.400><c> of</c><00:03:27.640><c> the</c><00:03:27.840><c> output</c>

00:03:28.150 --> 00:03:28.160 align:start position:0%
much smaller, the quality of the output
 

00:03:28.160 --> 00:03:30.990 align:start position:0%
much smaller, the quality of the output
is<00:03:28.320><c> still</c><00:03:28.760><c> going</c><00:03:29.000><c> to</c><00:03:29.080><c> be</c><00:03:29.200><c> way</c><00:03:29.400><c> more</c><00:03:30.200><c> same</c><00:03:30.800><c> like</c>

00:03:30.990 --> 00:03:31.000 align:start position:0%
is still going to be way more same like
 

00:03:31.000 --> 00:03:32.509 align:start position:0%
is still going to be way more same like
how<00:03:31.200><c> you</c><00:03:31.360><c> can</c><00:03:31.600><c> expect</c><00:03:32.200><c> with</c><00:03:32.320><c> their</c>

00:03:32.509 --> 00:03:32.519 align:start position:0%
how you can expect with their
 

00:03:32.519 --> 00:03:35.310 align:start position:0%
how you can expect with their
quantization<00:03:33.239><c> four</c><00:03:33.880><c> model</c><00:03:34.519><c> of</c><00:03:34.640><c> the</c><00:03:34.720><c> same</c><00:03:35.080><c> Qwen</c>

00:03:35.310 --> 00:03:35.320 align:start position:0%
quantization four model of the same Qwen
 

00:03:35.320 --> 00:03:37.229 align:start position:0%
quantization four model of the same Qwen
model<00:03:35.560><c> that</c><00:03:35.720><c> you</c><00:03:35.840><c> have</c><00:03:36.080><c> got.</c><00:03:36.680><c> That's</c><00:03:36.840><c> exactly</c>

00:03:37.229 --> 00:03:37.239 align:start position:0%
model that you have got. That's exactly
 

00:03:37.239 --> 00:03:39.030 align:start position:0%
model that you have got. That's exactly
what<00:03:37.360><c> this</c><00:03:37.480><c> particular</c><00:03:37.800><c> model</c><00:03:38.200><c> is,</c><00:03:38.640><c> and</c><00:03:38.880><c> we</c>

00:03:39.030 --> 00:03:39.040 align:start position:0%
what this particular model is, and we
 

00:03:39.040 --> 00:03:40.550 align:start position:0%
what this particular model is, and we
are<00:03:39.200><c> going</c><00:03:39.400><c> to</c><00:03:39.519><c> see</c><00:03:39.840><c> in</c><00:03:40.040><c> this</c><00:03:40.200><c> particular</c>

00:03:40.550 --> 00:03:40.560 align:start position:0%
are going to see in this particular
 

00:03:40.560 --> 00:03:45.070 align:start position:0%
are going to see in this particular
video<00:03:41.320><c> how</c><00:03:41.640><c> we</c><00:03:41.880><c> can</c><00:03:42.360><c> run</c><00:03:42.720><c> the</c><00:03:42.880><c> same</c><00:03:43.519><c> exact</c><00:03:44.480><c> Qwen</c>

00:03:45.070 --> 00:03:45.080 align:start position:0%
video how we can run the same exact Qwen
 

00:03:45.080 --> 00:03:48.509 align:start position:0%
video how we can run the same exact Qwen
two-bit<00:03:45.680><c> model</c><00:03:46.400><c> in</c><00:03:46.560><c> the</c><00:03:47.000><c> Mac</c><00:03:47.400><c> mini</c><00:03:47.800><c> M4</c>

00:03:48.509 --> 00:03:48.519 align:start position:0%
two-bit model in the Mac mini M4
 

00:03:48.519 --> 00:03:51.310 align:start position:0%
two-bit model in the Mac mini M4
machine,<00:03:49.239><c> and</c><00:03:49.360><c> we're</c><00:03:49.560><c> also</c><00:03:50.000><c> going</c><00:03:50.239><c> to</c><00:03:50.360><c> see</c><00:03:50.959><c> how</c>

00:03:51.310 --> 00:03:51.320 align:start position:0%
machine, and we're also going to see how
 

00:03:51.320 --> 00:03:53.870 align:start position:0%
machine, and we're also going to see how
fast<00:03:52.200><c> it</c><00:03:52.400><c> is</c><00:03:52.640><c> going</c><00:03:52.960><c> to</c><00:03:53.080><c> be</c><00:03:53.280><c> doing</c><00:03:53.680><c> the</c>

00:03:53.870 --> 00:03:53.880 align:start position:0%
fast it is going to be doing the
 

00:03:53.880 --> 00:03:56.390 align:start position:0%
fast it is going to be doing the
inferencing<00:03:54.600><c> for</c><00:03:54.840><c> us</c><00:03:55.200><c> and</c><00:03:55.400><c> what</c><00:03:55.680><c> it</c><00:03:55.880><c> means</c>

00:03:56.390 --> 00:03:56.400 align:start position:0%
inferencing for us and what it means
 

00:03:56.400 --> 00:03:59.470 align:start position:0%
inferencing for us and what it means
with<00:03:56.760><c> different</c><00:03:57.160><c> sizes</c><00:03:57.760><c> of</c><00:03:58.080><c> the</c><00:03:58.600><c> KV</c><00:03:59.040><c> cache</c>

00:03:59.470 --> 00:03:59.480 align:start position:0%
with different sizes of the KV cache
 

00:03:59.480 --> 00:04:01.190 align:start position:0%
with different sizes of the KV cache
adjustment<00:04:00.000><c> that</c><00:04:00.200><c> I'm</c><00:04:00.360><c> going</c><00:04:00.520><c> to</c><00:04:00.600><c> be</c><00:04:00.720><c> doing</c><00:04:01.080><c> in</c>

00:04:01.190 --> 00:04:01.200 align:start position:0%
adjustment that I'm going to be doing in
 

00:04:01.200 --> 00:04:02.830 align:start position:0%
adjustment that I'm going to be doing in
this<00:04:01.320><c> particular</c><00:04:01.640><c> video.</c><00:04:02.320><c> Now,</c><00:04:02.440><c> I</c><00:04:02.480><c> will</c><00:04:02.600><c> show</c>

00:04:02.830 --> 00:04:02.840 align:start position:0%
this particular video. Now, I will show
 

00:04:02.840 --> 00:04:05.950 align:start position:0%
this particular video. Now, I will show
you<00:04:03.280><c> how</c><00:04:03.680><c> it</c><00:04:03.920><c> is</c><00:04:04.080><c> going</c><00:04:04.320><c> to</c><00:04:04.400><c> be</c><00:04:04.520><c> affecting</c><00:04:05.480><c> the</c>

00:04:05.950 --> 00:04:05.960 align:start position:0%
you how it is going to be affecting the
 

00:04:05.960 --> 00:04:08.350 align:start position:0%
you how it is going to be affecting the
the<00:04:06.040><c> speed</c><00:04:07.160><c> as</c><00:04:07.400><c> well</c><00:04:07.560><c> as</c><00:04:07.680><c> the</c><00:04:07.959><c> number</c><00:04:08.200><c> of</c>

00:04:08.350 --> 00:04:08.360 align:start position:0%
the speed as well as the number of
 

00:04:08.360 --> 00:04:10.430 align:start position:0%
the speed as well as the number of
tokens<00:04:08.800><c> per</c><00:04:08.959><c> second</c><00:04:09.520><c> as</c><00:04:09.720><c> well.</c><00:04:10.120><c> So,</c><00:04:10.280><c> in</c><00:04:10.360><c> this</c>

00:04:10.430 --> 00:04:10.440 align:start position:0%
tokens per second as well. So, in this
 

00:04:10.440 --> 00:04:12.110 align:start position:0%
tokens per second as well. So, in this
particular<00:04:10.720><c> video,</c><00:04:11.280><c> we</c><00:04:11.400><c> are</c><00:04:11.480><c> going</c><00:04:11.600><c> to</c><00:04:11.680><c> see</c>

00:04:12.110 --> 00:04:12.120 align:start position:0%
particular video, we are going to see
 

00:04:12.120 --> 00:04:15.270 align:start position:0%
particular video, we are going to see
which<00:04:12.440><c> KV</c><00:04:12.800><c> size</c><00:04:13.480><c> or</c><00:04:13.640><c> which</c><00:04:13.840><c> KV</c><00:04:14.160><c> cache</c><00:04:14.800><c> is</c><00:04:15.040><c> going</c>

00:04:15.270 --> 00:04:15.280 align:start position:0%
which KV size or which KV cache is going
 

00:04:15.280 --> 00:04:18.190 align:start position:0%
which KV size or which KV cache is going
to<00:04:15.360><c> be</c><00:04:15.520><c> faster</c><00:04:15.959><c> like</c><00:04:16.120><c> 16-bit</c><00:04:16.840><c> or</c><00:04:17.000><c> 4-bit</c><00:04:17.680><c> or</c>

00:04:18.190 --> 00:04:18.200 align:start position:0%
to be faster like 16-bit or 4-bit or
 

00:04:18.200 --> 00:04:20.349 align:start position:0%
to be faster like 16-bit or 4-bit or
8-bit<00:04:18.519><c> quantization</c><00:04:19.640><c> and</c><00:04:19.880><c> which</c><00:04:20.040><c> is</c><00:04:20.160><c> going</c><00:04:20.280><c> to</c>

00:04:20.349 --> 00:04:20.359 align:start position:0%
8-bit quantization and which is going to
 

00:04:20.359 --> 00:04:23.030 align:start position:0%
8-bit quantization and which is going to
take<00:04:20.720><c> more</c><00:04:21.120><c> time</c><00:04:22.000><c> and</c><00:04:22.480><c> what</c><00:04:22.640><c> is</c><00:04:22.760><c> the</c><00:04:22.840><c> total</c>

00:04:23.030 --> 00:04:23.040 align:start position:0%
take more time and what is the total
 

00:04:23.040 --> 00:04:25.230 align:start position:0%
take more time and what is the total
number<00:04:23.280><c> of</c><00:04:23.400><c> tokens</c><00:04:23.800><c> per</c><00:04:24.000><c> second</c><00:04:24.680><c> that</c><00:04:24.840><c> you</c><00:04:25.040><c> are</c>

00:04:25.230 --> 00:04:25.240 align:start position:0%
number of tokens per second that you are
 

00:04:25.240 --> 00:04:26.990 align:start position:0%
number of tokens per second that you are
going<00:04:25.520><c> to</c><00:04:25.600><c> be</c><00:04:25.880><c> getting</c>

00:04:26.990 --> 00:04:27.000 align:start position:0%
going to be getting
 

00:04:27.000 --> 00:04:29.030 align:start position:0%
going to be getting
with<00:04:27.360><c> different</c><00:04:27.880><c> kinds</c><00:04:28.360><c> of</c><00:04:28.560><c> settings</c><00:04:28.919><c> that</c>

00:04:29.030 --> 00:04:29.040 align:start position:0%
with different kinds of settings that
 

00:04:29.040 --> 00:04:30.150 align:start position:0%
with different kinds of settings that
you<00:04:29.120><c> are</c><00:04:29.200><c> going</c><00:04:29.320><c> to</c><00:04:29.360><c> be</c><00:04:29.480><c> doing</c><00:04:29.680><c> in</c><00:04:29.760><c> the</c><00:04:29.880><c> LM</c>

00:04:30.150 --> 00:04:30.160 align:start position:0%
you are going to be doing in the LM
 

00:04:30.160 --> 00:04:31.909 align:start position:0%
you are going to be doing in the LM
Studio.<00:04:30.880><c> And</c><00:04:31.000><c> one</c><00:04:31.160><c> more</c><00:04:31.320><c> time,</c><00:04:31.760><c> this</c>

00:04:31.909 --> 00:04:31.919 align:start position:0%
Studio. And one more time, this
 

00:04:31.919 --> 00:04:33.630 align:start position:0%
Studio. And one more time, this
particular<00:04:32.280><c> model</c><00:04:32.640><c> is</c><00:04:32.880><c> actually</c><00:04:33.320><c> not</c>

00:04:33.630 --> 00:04:33.640 align:start position:0%
particular model is actually not
 

00:04:33.640 --> 00:04:35.750 align:start position:0%
particular model is actually not
available<00:04:34.560><c> in</c><00:04:34.680><c> the</c><00:04:34.800><c> MLX</c><00:04:35.160><c> format.</c><00:04:35.600><c> I</c>

00:04:35.750 --> 00:04:35.760 align:start position:0%
available in the MLX format. I
 

00:04:35.760 --> 00:04:37.990 align:start position:0%
available in the MLX format. I
unfortunately<00:04:36.440><c> have</c><00:04:36.680><c> got</c><00:04:36.960><c> only</c><00:04:37.320><c> the</c><00:04:37.480><c> GGML</c>

00:04:37.990 --> 00:04:38.000 align:start position:0%
unfortunately have got only the GGML
 

00:04:38.000 --> 00:04:39.590 align:start position:0%
unfortunately have got only the GGML
format<00:04:38.640><c> and</c><00:04:38.760><c> I'm</c><00:04:38.960><c> going</c><00:04:39.080><c> to</c><00:04:39.160><c> be</c><00:04:39.240><c> running</c><00:04:39.480><c> this</c>

00:04:39.590 --> 00:04:39.600 align:start position:0%
format and I'm going to be running this
 

00:04:39.600 --> 00:04:41.750 align:start position:0%
format and I'm going to be running this
particular<00:04:40.080><c> model</c><00:04:40.880><c> in</c><00:04:41.040><c> the</c><00:04:41.160><c> LM</c><00:04:41.400><c> Studio</c><00:04:41.640><c> and</c><00:04:41.720><c> I</c>

00:04:41.750 --> 00:04:41.760 align:start position:0%
particular model in the LM Studio and I
 

00:04:41.760 --> 00:04:44.190 align:start position:0%
particular model in the LM Studio and I
will<00:04:41.880><c> show</c><00:04:42.080><c> you</c><00:04:42.280><c> how</c><00:04:42.480><c> the</c><00:04:42.640><c> TPS</c><00:04:43.160><c> is</c><00:04:43.360><c> going</c><00:04:43.640><c> to</c><00:04:43.720><c> be</c>

00:04:44.190 --> 00:04:44.200 align:start position:0%
will show you how the TPS is going to be
 

00:04:44.200 --> 00:04:46.590 align:start position:0%
will show you how the TPS is going to be
for<00:04:44.440><c> the</c><00:04:44.560><c> different</c><00:04:45.440><c> KV</c><00:04:45.800><c> cache</c><00:04:46.160><c> that</c><00:04:46.360><c> we</c><00:04:46.480><c> are</c>

00:04:46.590 --> 00:04:46.600 align:start position:0%
for the different KV cache that we are
 

00:04:46.600 --> 00:04:48.870 align:start position:0%
for the different KV cache that we are
going<00:04:46.720><c> to</c><00:04:46.800><c> be</c><00:04:46.880><c> setting</c><00:04:47.360><c> and</c><00:04:47.720><c> running</c><00:04:48.000><c> it.</c><00:04:48.400><c> But,</c>

00:04:48.870 --> 00:04:48.880 align:start position:0%
going to be setting and running it. But,
 

00:04:48.880 --> 00:04:50.710 align:start position:0%
going to be setting and running it. But,
you<00:04:48.960><c> know</c><00:04:49.080><c> what?</c><00:04:49.600><c> This</c><00:04:49.720><c> particular</c><00:04:50.080><c> model</c><00:04:50.480><c> is</c>

00:04:50.710 --> 00:04:50.720 align:start position:0%
you know what? This particular model is
 

00:04:50.720 --> 00:04:53.950 align:start position:0%
you know what? This particular model is
not<00:04:51.320><c> really</c><00:04:52.000><c> going</c><00:04:52.360><c> to</c><00:04:52.560><c> hit</c><00:04:53.360><c> the</c><00:04:53.720><c> out</c><00:04:53.840><c> of</c>

00:04:53.950 --> 00:04:53.960 align:start position:0%
not really going to hit the out of
 

00:04:53.960 --> 00:04:55.909 align:start position:0%
not really going to hit the out of
memory<00:04:54.240><c> exception.</c><00:04:55.200><c> Based</c><00:04:55.480><c> on</c><00:04:55.560><c> the</c><00:04:55.600><c> different</c>

00:04:55.909 --> 00:04:55.919 align:start position:0%
memory exception. Based on the different
 

00:04:55.919 --> 00:04:57.710 align:start position:0%
memory exception. Based on the different
KV<00:04:56.200><c> cache</c><00:04:56.480><c> setting,</c><00:04:57.080><c> you</c><00:04:57.160><c> can</c><00:04:57.320><c> actually</c><00:04:57.600><c> see</c>

00:04:57.710 --> 00:04:57.720 align:start position:0%
KV cache setting, you can actually see
 

00:04:57.720 --> 00:04:59.510 align:start position:0%
KV cache setting, you can actually see
that<00:04:57.919><c> this</c><00:04:58.080><c> model</c><00:04:58.440><c> is</c><00:04:58.800><c> actually</c><00:04:59.160><c> going</c><00:04:59.360><c> to</c><00:04:59.400><c> be</c>

00:04:59.510 --> 00:04:59.520 align:start position:0%
that this model is actually going to be
 

00:04:59.520 --> 00:05:01.430 align:start position:0%
that this model is actually going to be
performant<00:05:00.200><c> as</c><00:05:00.400><c> well.</c><00:05:00.600><c> And</c><00:05:00.680><c> this</c><00:05:00.800><c> is</c><00:05:00.960><c> a</c><00:05:01.240><c> good</c>

00:05:01.430 --> 00:05:01.440 align:start position:0%
performant as well. And this is a good
 

00:05:01.440 --> 00:05:03.070 align:start position:0%
performant as well. And this is a good
news<00:05:01.840><c> for</c><00:05:02.000><c> this</c><00:05:02.120><c> particular</c><00:05:02.400><c> model.</c><00:05:02.800><c> Well,</c><00:05:02.960><c> as</c>

00:05:03.070 --> 00:05:03.080 align:start position:0%
news for this particular model. Well, as
 

00:05:03.080 --> 00:05:05.190 align:start position:0%
news for this particular model. Well, as
that<00:05:03.240><c> said,</c><00:05:03.720><c> let's</c><00:05:03.880><c> start</c><00:05:04.240><c> doing</c><00:05:04.520><c> the</c><00:05:04.680><c> testing</c>

00:05:05.190 --> 00:05:05.200 align:start position:0%
that said, let's start doing the testing
 

00:05:05.200 --> 00:05:06.270 align:start position:0%
that said, let's start doing the testing
of<00:05:05.400><c> the</c><00:05:05.520><c> model</c><00:05:05.840><c> with</c><00:05:05.919><c> a</c><00:05:05.960><c> different</c>

00:05:06.270 --> 00:05:06.280 align:start position:0%
of the model with a different
 

00:05:06.280 --> 00:05:08.550 align:start position:0%
of the model with a different
quantization.<00:05:07.400><c> So,</c><00:05:07.680><c> you</c><00:05:07.840><c> can</c><00:05:08.040><c> see</c><00:05:08.200><c> that</c><00:05:08.480><c> I</c>

00:05:08.550 --> 00:05:08.560 align:start position:0%
quantization. So, you can see that I
 

00:05:08.560 --> 00:05:11.909 align:start position:0%
quantization. So, you can see that I
have<00:05:08.800><c> got</c><00:05:09.160><c> my</c><00:05:09.760><c> Mac</c><00:05:10.080><c> mini</c><00:05:10.480><c> M4</c><00:05:11.200><c> machine.</c><00:05:11.840><c> The</c>

00:05:11.909 --> 00:05:11.919 align:start position:0%
have got my Mac mini M4 machine. The
 

00:05:11.919 --> 00:05:12.790 align:start position:0%
have got my Mac mini M4 machine. The
total<00:05:12.080><c> number</c><00:05:12.240><c> of</c><00:05:12.320><c> physical</c><00:05:12.520><c> memory</c><00:05:12.680><c> that</c><00:05:12.760><c> you</c>

00:05:12.790 --> 00:05:12.800 align:start position:0%
total number of physical memory that you
 

00:05:12.800 --> 00:05:15.310 align:start position:0%
total number of physical memory that you
can<00:05:12.960><c> see</c><00:05:13.240><c> over</c><00:05:13.400><c> here</c><00:05:13.520><c> is</c><00:05:13.600><c> 24</c><00:05:14.040><c> gig</c><00:05:14.720><c> and</c><00:05:15.160><c> I'm</c>

00:05:15.310 --> 00:05:15.320 align:start position:0%
can see over here is 24 gig and I'm
 

00:05:15.320 --> 00:05:17.390 align:start position:0%
can see over here is 24 gig and I'm
going<00:05:15.480><c> to</c><00:05:15.560><c> be</c><00:05:15.960><c> loading</c><00:05:16.440><c> the</c>

00:05:17.390 --> 00:05:17.400 align:start position:0%
going to be loading the
 

00:05:17.400 --> 00:05:20.590 align:start position:0%
going to be loading the
the<00:05:17.520><c> Qwen</c><00:05:17.919><c> model</c><00:05:18.800><c> in</c><00:05:18.919><c> the</c><00:05:19.160><c> LM</c><00:05:19.440><c> Studio</c><00:05:20.320><c> and</c><00:05:20.480><c> I'm</c>

00:05:20.590 --> 00:05:20.600 align:start position:0%
the Qwen model in the LM Studio and I'm
 

00:05:20.600 --> 00:05:22.510 align:start position:0%
the Qwen model in the LM Studio and I'm
going<00:05:20.720><c> to</c><00:05:20.800><c> set</c><00:05:21.160><c> the</c><00:05:21.360><c> context</c><00:05:21.960><c> length</c><00:05:22.280><c> over</c>

00:05:22.510 --> 00:05:22.520 align:start position:0%
going to set the context length over
 

00:05:22.520 --> 00:05:28.630 align:start position:0%
going to set the context length over
here<00:05:23.480><c> to</c><00:05:23.800><c> at</c><00:05:23.960><c> least</c><00:05:24.400><c> like</c><00:05:24.919><c> a</c><00:05:24.960><c> 30</c><00:05:26.240><c> 31</c><00:05:27.200><c> or</c><00:05:27.320><c> 32,000</c>

00:05:28.630 --> 00:05:28.640 align:start position:0%
here to at least like a 30 31 or 32,000
 

00:05:28.640 --> 00:05:30.190 align:start position:0%
here to at least like a 30 31 or 32,000
over<00:05:28.880><c> here.</c><00:05:29.480><c> And</c><00:05:29.600><c> you</c><00:05:29.640><c> can</c><00:05:29.760><c> see</c><00:05:29.840><c> that</c><00:05:29.960><c> this</c><00:05:30.080><c> is</c>

00:05:30.190 --> 00:05:30.200 align:start position:0%
over here. And you can see that this is
 

00:05:30.200 --> 00:05:32.270 align:start position:0%
over here. And you can see that this is
the<00:05:30.680><c> maximum</c><00:05:31.160><c> concurrent</c><00:05:31.560><c> prediction.</c>

00:05:32.270 --> 00:05:32.280 align:start position:0%
the maximum concurrent prediction.
 

00:05:32.280 --> 00:05:34.150 align:start position:0%
the maximum concurrent prediction.
Instead<00:05:32.600><c> of</c><00:05:33.000><c> four,</c><00:05:33.480><c> I'm</c><00:05:33.640><c> going</c><00:05:33.760><c> to</c><00:05:33.840><c> be</c><00:05:33.919><c> setting</c>

00:05:34.150 --> 00:05:34.160 align:start position:0%
Instead of four, I'm going to be setting
 

00:05:34.160 --> 00:05:35.990 align:start position:0%
Instead of four, I'm going to be setting
it<00:05:34.280><c> to</c><00:05:34.400><c> one</c><00:05:35.040><c> cuz</c><00:05:35.160><c> it's</c><00:05:35.360><c> going</c><00:05:35.480><c> to</c><00:05:35.560><c> be</c><00:05:35.680><c> reducing</c>

00:05:35.990 --> 00:05:36.000 align:start position:0%
it to one cuz it's going to be reducing
 

00:05:36.000 --> 00:05:38.310 align:start position:0%
it to one cuz it's going to be reducing
the<00:05:36.080><c> total</c><00:05:36.240><c> number</c><00:05:36.400><c> of</c><00:05:36.480><c> compute</c><00:05:36.960><c> as</c><00:05:37.160><c> well.</c><00:05:37.880><c> And</c>

00:05:38.310 --> 00:05:38.320 align:start position:0%
the total number of compute as well. And
 

00:05:38.320 --> 00:05:40.790 align:start position:0%
the total number of compute as well. And
I'm<00:05:38.480><c> also</c><00:05:38.800><c> going</c><00:05:38.919><c> to</c><00:05:39.040><c> change</c><00:05:39.520><c> the</c><00:05:39.800><c> KV</c><00:05:40.280><c> cache</c>

00:05:40.790 --> 00:05:40.800 align:start position:0%
I'm also going to change the KV cache
 

00:05:40.800 --> 00:05:42.390 align:start position:0%
I'm also going to change the KV cache
quantization

00:05:42.390 --> 00:05:42.400 align:start position:0%
quantization
 

00:05:42.400 --> 00:05:45.070 align:start position:0%
quantization
type<00:05:42.760><c> there.</c><00:05:43.320><c> So,</c><00:05:43.640><c> instead</c><00:05:43.960><c> of</c><00:05:44.720><c> using</c><00:05:44.960><c> the</c>

00:05:45.070 --> 00:05:45.080 align:start position:0%
type there. So, instead of using the
 

00:05:45.080 --> 00:05:46.470 align:start position:0%
type there. So, instead of using the
default,<00:05:45.680><c> I'm</c><00:05:45.800><c> going</c><00:05:45.919><c> to</c><00:05:46.000><c> be</c><00:05:46.040><c> setting</c><00:05:46.320><c> the</c>

00:05:46.470 --> 00:05:46.480 align:start position:0%
default, I'm going to be setting the
 

00:05:46.480 --> 00:05:48.990 align:start position:0%
default, I'm going to be setting the
FP16<00:05:47.400><c> this</c><00:05:47.560><c> time.</c><00:05:48.200><c> And</c><00:05:48.560><c> I'm</c><00:05:48.680><c> going</c><00:05:48.840><c> to</c><00:05:48.880><c> be</c>

00:05:48.990 --> 00:05:49.000 align:start position:0%
FP16 this time. And I'm going to be
 

00:05:49.000 --> 00:05:50.550 align:start position:0%
FP16 this time. And I'm going to be
loading<00:05:49.320><c> this</c><00:05:49.400><c> particular</c><00:05:49.680><c> model.</c><00:05:50.360><c> And</c><00:05:50.480><c> the</c>

00:05:50.550 --> 00:05:50.560 align:start position:0%
loading this particular model. And the
 

00:05:50.560 --> 00:05:51.830 align:start position:0%
loading this particular model. And the
moment<00:05:50.920><c> I'm</c><00:05:51.040><c> going</c><00:05:51.160><c> to</c><00:05:51.240><c> load</c><00:05:51.440><c> this</c><00:05:51.560><c> particular</c>

00:05:51.830 --> 00:05:51.840 align:start position:0%
moment I'm going to load this particular
 

00:05:51.840 --> 00:05:53.710 align:start position:0%
moment I'm going to load this particular
model,<00:05:52.440><c> you</c><00:05:52.560><c> can</c><00:05:52.760><c> see</c><00:05:52.840><c> that</c><00:05:53.120><c> it</c><00:05:53.240><c> is</c><00:05:53.360><c> going</c><00:05:53.640><c> to</c>

00:05:53.710 --> 00:05:53.720 align:start position:0%
model, you can see that it is going to
 

00:05:53.720 --> 00:05:57.750 align:start position:0%
model, you can see that it is going to
be<00:05:53.920><c> consuming</c><00:05:54.640><c> around</c><00:05:55.200><c> 20</c><00:05:55.960><c> gig</c><00:05:56.240><c> or</c><00:05:56.360><c> 21</c><00:05:56.920><c> gig</c><00:05:57.520><c> of</c>

00:05:57.750 --> 00:05:57.760 align:start position:0%
be consuming around 20 gig or 21 gig of
 

00:05:57.760 --> 00:06:00.630 align:start position:0%
be consuming around 20 gig or 21 gig of
the<00:05:58.120><c> total</c><00:05:58.480><c> memory</c><00:05:59.480><c> in</c><00:05:59.680><c> my</c>

00:06:00.630 --> 00:06:00.640 align:start position:0%
the total memory in my
 

00:06:00.640 --> 00:06:04.070 align:start position:0%
the total memory in my
in<00:06:00.840><c> my</c><00:06:01.520><c> RAM</c><00:06:01.840><c> there.</c><00:06:02.440><c> And</c><00:06:02.720><c> now</c><00:06:03.000><c> I'm</c><00:06:03.200><c> going</c><00:06:03.440><c> to</c><00:06:03.560><c> be</c>

00:06:04.070 --> 00:06:04.080 align:start position:0%
in my RAM there. And now I'm going to be
 

00:06:04.080 --> 00:06:06.830 align:start position:0%
in my RAM there. And now I'm going to be
running<00:06:05.000><c> the</c><00:06:05.520><c> the</c><00:06:05.720><c> questions</c><00:06:06.320><c> over</c><00:06:06.480><c> there,</c>

00:06:06.830 --> 00:06:06.840 align:start position:0%
running the the questions over there,
 

00:06:06.840 --> 00:06:08.670 align:start position:0%
running the the questions over there,
inferencing<00:06:07.440><c> it</c><00:06:07.680><c> without</c><00:06:08.080><c> the</c><00:06:08.240><c> thinking</c>

00:06:08.670 --> 00:06:08.680 align:start position:0%
inferencing it without the thinking
 

00:06:08.680 --> 00:06:10.630 align:start position:0%
inferencing it without the thinking
enabled.<00:06:09.480><c> So</c><00:06:09.600><c> the</c><00:06:09.680><c> moment</c><00:06:09.960><c> I'm</c><00:06:10.120><c> going</c><00:06:10.240><c> to</c><00:06:10.320><c> run,</c>

00:06:10.630 --> 00:06:10.640 align:start position:0%
enabled. So the moment I'm going to run,
 

00:06:10.640 --> 00:06:12.470 align:start position:0%
enabled. So the moment I'm going to run,
let's<00:06:10.840><c> say</c><00:06:11.040><c> hi</c><00:06:11.480><c> over</c><00:06:11.640><c> here,</c><00:06:12.160><c> I'm</c><00:06:12.280><c> getting</c>

00:06:12.470 --> 00:06:12.480 align:start position:0%
let's say hi over here, I'm getting
 

00:06:12.480 --> 00:06:15.870 align:start position:0%
let's say hi over here, I'm getting
around<00:06:12.800><c> 4.57</c><00:06:13.960><c> tokens</c><00:06:14.360><c> per</c><00:06:14.520><c> second.</c><00:06:15.400><c> And</c><00:06:15.600><c> now</c>

00:06:15.870 --> 00:06:15.880 align:start position:0%
around 4.57 tokens per second. And now
 

00:06:15.880 --> 00:06:18.670 align:start position:0%
around 4.57 tokens per second. And now
if<00:06:16.120><c> I'm</c><00:06:16.240><c> going</c><00:06:16.360><c> to</c><00:06:16.520><c> say</c><00:06:16.840><c> again</c><00:06:17.560><c> like</c><00:06:17.760><c> hi</c><00:06:17.919><c> again,</c>

00:06:18.670 --> 00:06:18.680 align:start position:0%
if I'm going to say again like hi again,
 

00:06:18.680 --> 00:06:21.390 align:start position:0%
if I'm going to say again like hi again,
it<00:06:18.840><c> is</c><00:06:19.000><c> going</c><00:06:19.160><c> to</c><00:06:19.280><c> give</c><00:06:19.480><c> me</c><00:06:19.600><c> around</c><00:06:20.040><c> 4.9</c><00:06:21.000><c> tokens</c>

00:06:21.390 --> 00:06:21.400 align:start position:0%
it is going to give me around 4.9 tokens
 

00:06:21.400 --> 00:06:23.390 align:start position:0%
it is going to give me around 4.9 tokens
per<00:06:21.560><c> second.</c><00:06:21.960><c> This</c><00:06:22.160><c> is</c><00:06:22.480><c> a</c><00:06:22.600><c> dense</c><00:06:23.080><c> model</c><00:06:23.280><c> that</c>

00:06:23.390 --> 00:06:23.400 align:start position:0%
per second. This is a dense model that
 

00:06:23.400 --> 00:06:25.310 align:start position:0%
per second. This is a dense model that
we're<00:06:23.520><c> talking</c><00:06:23.800><c> about,</c><00:06:24.080><c> guys.</c><00:06:24.400><c> Look</c><00:06:24.520><c> at</c><00:06:24.640><c> that.</c>

00:06:25.310 --> 00:06:25.320 align:start position:0%
we're talking about, guys. Look at that.
 

00:06:25.320 --> 00:06:27.150 align:start position:0%
we're talking about, guys. Look at that.
And<00:06:25.400><c> now</c><00:06:25.560><c> if</c><00:06:25.680><c> I'm</c><00:06:25.800><c> going</c><00:06:25.919><c> to</c><00:06:26.360><c> pass</c><00:06:26.640><c> a</c><00:06:26.720><c> long</c>

00:06:27.150 --> 00:06:27.160 align:start position:0%
And now if I'm going to pass a long
 

00:06:27.160 --> 00:06:30.790 align:start position:0%
And now if I'm going to pass a long
prompt<00:06:27.520><c> to</c><00:06:27.720><c> write</c><00:06:28.160><c> a</c><00:06:28.360><c> Selenium</c><00:06:28.800><c> C#</c><00:06:29.760><c> .NET</c><00:06:30.160><c> code</c>

00:06:30.790 --> 00:06:30.800 align:start position:0%
prompt to write a Selenium C# .NET code
 

00:06:30.800 --> 00:06:33.030 align:start position:0%
prompt to write a Selenium C# .NET code
for<00:06:30.960><c> Google</c><00:06:31.400><c> search</c><00:06:32.000><c> operation</c><00:06:32.520><c> with</c><00:06:32.760><c> page</c>

00:06:33.030 --> 00:06:33.040 align:start position:0%
for Google search operation with page
 

00:06:33.040 --> 00:06:35.510 align:start position:0%
for Google search operation with page
object<00:06:33.360><c> model</c><00:06:33.680><c> and</c><00:06:33.800><c> dependency</c><00:06:34.240><c> injection.</c>

00:06:35.510 --> 00:06:35.520 align:start position:0%
object model and dependency injection.
 

00:06:35.520 --> 00:06:36.870 align:start position:0%
object model and dependency injection.
And<00:06:35.600><c> if</c><00:06:35.720><c> I'm</c><00:06:35.800><c> going</c><00:06:35.919><c> to</c><00:06:35.960><c> run</c><00:06:36.120><c> it,</c><00:06:36.560><c> I'm</c><00:06:36.680><c> going</c><00:06:36.800><c> to</c>

00:06:36.870 --> 00:06:36.880 align:start position:0%
And if I'm going to run it, I'm going to
 

00:06:36.880 --> 00:06:39.190 align:start position:0%
And if I'm going to run it, I'm going to
start<00:06:37.160><c> the</c><00:06:37.280><c> timer</c><00:06:37.720><c> as</c><00:06:37.919><c> well</c><00:06:38.160><c> just</c><00:06:38.360><c> in</c><00:06:38.480><c> case.</c>

00:06:39.190 --> 00:06:39.200 align:start position:0%
start the timer as well just in case.
 

00:06:39.200 --> 00:06:40.590 align:start position:0%
start the timer as well just in case.
And<00:06:39.560><c> if</c><00:06:39.680><c> I'm</c><00:06:39.760><c> going</c><00:06:39.880><c> to</c><00:06:39.960><c> show</c><00:06:40.080><c> you</c><00:06:40.160><c> the</c><00:06:40.280><c> memory</c>

00:06:40.590 --> 00:06:40.600 align:start position:0%
And if I'm going to show you the memory
 

00:06:40.600 --> 00:06:42.190 align:start position:0%
And if I'm going to show you the memory
spike<00:06:40.960><c> there,</c><00:06:41.440><c> you</c><00:06:41.520><c> see</c><00:06:41.600><c> that</c><00:06:41.760><c> the</c><00:06:41.840><c> memory</c>

00:06:42.190 --> 00:06:42.200 align:start position:0%
spike there, you see that the memory
 

00:06:42.200 --> 00:06:43.870 align:start position:0%
spike there, you see that the memory
pressure<00:06:42.560><c> is</c><00:06:42.720><c> not</c><00:06:42.919><c> increasing</c><00:06:43.560><c> because</c><00:06:43.760><c> it's</c>

00:06:43.870 --> 00:06:43.880 align:start position:0%
pressure is not increasing because it's
 

00:06:43.880 --> 00:06:46.950 align:start position:0%
pressure is not increasing because it's
a<00:06:43.960><c> two-bit</c><00:06:44.320><c> quantization</c><00:06:44.960><c> model.</c><00:06:45.600><c> And</c><00:06:46.800><c> at</c><00:06:46.880><c> the</c>

00:06:46.950 --> 00:06:46.960 align:start position:0%
a two-bit quantization model. And at the
 

00:06:46.960 --> 00:06:48.870 align:start position:0%
a two-bit quantization model. And at the
same<00:06:47.240><c> time,</c><00:06:47.880><c> you</c><00:06:48.000><c> can</c><00:06:48.160><c> see</c><00:06:48.280><c> that</c><00:06:48.440><c> I'm</c><00:06:48.600><c> actually</c>

00:06:48.870 --> 00:06:48.880 align:start position:0%
same time, you can see that I'm actually
 

00:06:48.880 --> 00:06:50.790 align:start position:0%
same time, you can see that I'm actually
getting<00:06:49.080><c> the</c><00:06:49.280><c> output</c><00:06:49.720><c> over</c><00:06:49.880><c> here.</c><00:06:50.120><c> It</c><00:06:50.240><c> is</c><00:06:50.400><c> not</c>

00:06:50.790 --> 00:06:50.800 align:start position:0%
getting the output over here. It is not
 

00:06:50.800 --> 00:06:53.350 align:start position:0%
getting the output over here. It is not
as<00:06:51.080><c> fast</c><00:06:51.440><c> as</c><00:06:51.600><c> you</c><00:06:51.720><c> can</c><00:06:51.919><c> imagine.</c><00:06:52.560><c> It</c><00:06:52.720><c> is</c><00:06:52.880><c> not</c>

00:06:53.350 --> 00:06:53.360 align:start position:0%
as fast as you can imagine. It is not
 

00:06:53.360 --> 00:06:54.990 align:start position:0%
as fast as you can imagine. It is not
super<00:06:53.680><c> fast</c><00:06:53.919><c> like</c><00:06:54.080><c> how</c><00:06:54.200><c> you</c><00:06:54.280><c> can</c><00:06:54.400><c> expect</c><00:06:54.840><c> with</c>

00:06:54.990 --> 00:06:55.000 align:start position:0%
super fast like how you can expect with
 

00:06:55.000 --> 00:06:57.830 align:start position:0%
super fast like how you can expect with
a<00:06:55.480><c> like</c><00:06:55.640><c> a</c><00:06:55.720><c> M5</c><00:06:56.200><c> Max</c><00:06:56.520><c> machine.</c><00:06:57.280><c> But</c><00:06:57.520><c> you</c><00:06:57.600><c> can</c><00:06:57.760><c> see</c>

00:06:57.830 --> 00:06:57.840 align:start position:0%
a like a M5 Max machine. But you can see
 

00:06:57.840 --> 00:07:00.070 align:start position:0%
a like a M5 Max machine. But you can see
that<00:06:57.960><c> within</c><00:06:58.200><c> 4</c><00:06:58.480><c> minutes,</c><00:06:59.040><c> I</c><00:06:59.160><c> got</c><00:06:59.400><c> the</c><00:06:59.600><c> output</c>

00:07:00.070 --> 00:07:00.080 align:start position:0%
that within 4 minutes, I got the output
 

00:07:00.080 --> 00:07:03.470 align:start position:0%
that within 4 minutes, I got the output
with<00:07:00.480><c> a</c><00:07:00.600><c> 5.67</c><00:07:01.919><c> tokens</c><00:07:02.320><c> per</c><00:07:02.480><c> second.</c><00:07:03.120><c> This</c><00:07:03.320><c> is</c>

00:07:03.470 --> 00:07:03.480 align:start position:0%
with a 5.67 tokens per second. This is
 

00:07:03.480 --> 00:07:06.030 align:start position:0%
with a 5.67 tokens per second. This is
not<00:07:03.760><c> bad</c><00:07:04.160><c> to</c><00:07:04.240><c> be</c><00:07:04.400><c> honest.</c><00:07:04.720><c> This</c><00:07:04.840><c> is</c><00:07:05.360><c> working.</c>

00:07:06.030 --> 00:07:06.040 align:start position:0%
not bad to be honest. This is working.
 

00:07:06.040 --> 00:07:07.270 align:start position:0%
not bad to be honest. This is working.
It's<00:07:06.200><c> not</c><00:07:06.360><c> really</c><00:07:06.560><c> hitting</c><00:07:06.800><c> that</c><00:07:06.960><c> memory</c>

00:07:07.270 --> 00:07:07.280 align:start position:0%
It's not really hitting that memory
 

00:07:07.280 --> 00:07:08.950 align:start position:0%
It's not really hitting that memory
ceiling.<00:07:08.040><c> And</c><00:07:08.240><c> if</c><00:07:08.360><c> you</c><00:07:08.480><c> try</c><00:07:08.640><c> to</c><00:07:08.760><c> run</c><00:07:08.880><c> a</c>

00:07:08.950 --> 00:07:08.960 align:start position:0%
ceiling. And if you try to run a
 

00:07:08.960 --> 00:07:11.070 align:start position:0%
ceiling. And if you try to run a
four-bit<00:07:09.320><c> quantization,</c><00:07:10.080><c> this</c><00:07:10.280><c> is</c><00:07:10.440><c> never</c>

00:07:11.070 --> 00:07:11.080 align:start position:0%
four-bit quantization, this is never
 

00:07:11.080 --> 00:07:12.909 align:start position:0%
four-bit quantization, this is never
going<00:07:11.320><c> to</c><00:07:11.400><c> be</c><00:07:11.480><c> running</c><00:07:11.800><c> for</c><00:07:12.040><c> you.</c><00:07:12.480><c> And</c><00:07:12.680><c> 4</c>

00:07:12.909 --> 00:07:12.919 align:start position:0%
going to be running for you. And 4
 

00:07:12.919 --> 00:07:15.030 align:start position:0%
going to be running for you. And 4
minutes<00:07:13.200><c> is</c><00:07:13.400><c> not</c><00:07:13.600><c> that</c><00:07:13.760><c> bad</c><00:07:13.960><c> at</c><00:07:14.080><c> all.</c><00:07:14.760><c> Now</c><00:07:14.919><c> I'm</c>

00:07:15.030 --> 00:07:15.040 align:start position:0%
minutes is not that bad at all. Now I'm
 

00:07:15.040 --> 00:07:17.350 align:start position:0%
minutes is not that bad at all. Now I'm
going<00:07:15.160><c> to</c><00:07:15.240><c> change</c><00:07:15.520><c> the</c><00:07:15.640><c> quantization</c><00:07:16.480><c> to</c>

00:07:17.350 --> 00:07:17.360 align:start position:0%
going to change the quantization to
 

00:07:17.360 --> 00:07:18.950 align:start position:0%
going to change the quantization to
eight,<00:07:17.760><c> which</c><00:07:17.880><c> is</c><00:07:17.960><c> a</c><00:07:18.000><c> quantization</c><00:07:18.680><c> eight</c>

00:07:18.950 --> 00:07:18.960 align:start position:0%
eight, which is a quantization eight
 

00:07:18.960 --> 00:07:21.350 align:start position:0%
eight, which is a quantization eight
there<00:07:19.200><c> for</c><00:07:19.320><c> the</c><00:07:19.440><c> KV</c><00:07:19.800><c> cache</c><00:07:20.120><c> alone.</c><00:07:20.840><c> And</c><00:07:21.240><c> I'm</c>

00:07:21.350 --> 00:07:21.360 align:start position:0%
there for the KV cache alone. And I'm
 

00:07:21.360 --> 00:07:22.350 align:start position:0%
there for the KV cache alone. And I'm
going<00:07:21.480><c> to</c><00:07:21.560><c> be</c><00:07:21.680><c> loading</c><00:07:22.000><c> this</c><00:07:22.080><c> particular</c>

00:07:22.350 --> 00:07:22.360 align:start position:0%
going to be loading this particular
 

00:07:22.360 --> 00:07:25.150 align:start position:0%
going to be loading this particular
model.<00:07:23.040><c> And</c><00:07:23.400><c> I'm</c><00:07:23.560><c> going</c><00:07:23.840><c> to</c><00:07:24.040><c> ask</c><00:07:24.400><c> the</c><00:07:24.520><c> same</c>

00:07:25.150 --> 00:07:25.160 align:start position:0%
model. And I'm going to ask the same
 

00:07:25.160 --> 00:07:28.070 align:start position:0%
model. And I'm going to ask the same
exact<00:07:25.919><c> prompt</c><00:07:26.360><c> there.</c><00:07:27.080><c> Sending</c><00:07:27.520><c> a</c><00:07:27.720><c> hi</c>

00:07:28.070 --> 00:07:28.080 align:start position:0%
exact prompt there. Sending a hi
 

00:07:28.080 --> 00:07:31.230 align:start position:0%
exact prompt there. Sending a hi
message.<00:07:28.840><c> And</c><00:07:29.680><c> going</c><00:07:29.840><c> to</c><00:07:29.919><c> say</c><00:07:30.120><c> hi</c><00:07:30.440><c> again.</c><00:07:31.080><c> I'm</c>

00:07:31.230 --> 00:07:31.240 align:start position:0%
message. And going to say hi again. I'm
 

00:07:31.240 --> 00:07:33.430 align:start position:0%
message. And going to say hi again. I'm
getting<00:07:31.520><c> 5.47</c><00:07:32.600><c> token.</c><00:07:33.080><c> And</c><00:07:33.200><c> I'm</c><00:07:33.240><c> going</c><00:07:33.360><c> to</c>

00:07:33.430 --> 00:07:33.440 align:start position:0%
getting 5.47 token. And I'm going to
 

00:07:33.440 --> 00:07:35.190 align:start position:0%
getting 5.47 token. And I'm going to
send<00:07:33.640><c> the</c><00:07:33.720><c> same</c><00:07:34.000><c> exact</c><00:07:34.440><c> Selenium</c><00:07:34.880><c> code</c>

00:07:35.190 --> 00:07:35.200 align:start position:0%
send the same exact Selenium code
 

00:07:35.200 --> 00:07:37.630 align:start position:0%
send the same exact Selenium code
prompt.<00:07:35.960><c> And</c><00:07:36.040><c> I'm</c><00:07:36.120><c> going</c><00:07:36.240><c> to</c><00:07:36.320><c> start</c><00:07:36.640><c> the</c><00:07:36.800><c> timer</c>

00:07:37.630 --> 00:07:37.640 align:start position:0%
prompt. And I'm going to start the timer
 

00:07:37.640 --> 00:07:39.630 align:start position:0%
prompt. And I'm going to start the timer
over<00:07:37.800><c> there.</c><00:07:38.400><c> You</c><00:07:38.520><c> can</c><00:07:38.720><c> see</c><00:07:38.880><c> that</c><00:07:39.120><c> this</c><00:07:39.280><c> time</c>

00:07:39.630 --> 00:07:39.640 align:start position:0%
over there. You can see that this time
 

00:07:39.640 --> 00:07:42.070 align:start position:0%
over there. You can see that this time
the<00:07:39.800><c> time</c><00:07:40.080><c> is</c><00:07:40.200><c> going</c><00:07:40.400><c> to</c><00:07:40.480><c> be</c><00:07:40.600><c> a</c><00:07:40.640><c> bit</c><00:07:41.360><c> higher</c>

00:07:42.070 --> 00:07:42.080 align:start position:0%
the time is going to be a bit higher
 

00:07:42.080 --> 00:07:44.310 align:start position:0%
the time is going to be a bit higher
than<00:07:42.360><c> compared</c><00:07:42.680><c> to</c><00:07:42.720><c> the</c><00:07:42.840><c> FP16</c><00:07:43.600><c> there.</c><00:07:44.200><c> The</c>

00:07:44.310 --> 00:07:44.320 align:start position:0%
than compared to the FP16 there. The
 

00:07:44.320 --> 00:07:48.390 align:start position:0%
than compared to the FP16 there. The
reason<00:07:44.840><c> is</c><00:07:45.080><c> because</c><00:07:45.960><c> actually</c><00:07:46.760><c> it's</c><00:07:47.080><c> not</c><00:07:47.520><c> that</c>

00:07:48.390 --> 00:07:48.400 align:start position:0%
reason is because actually it's not that
 

00:07:48.400 --> 00:07:49.750 align:start position:0%
reason is because actually it's not that
even<00:07:48.720><c> if</c><00:07:48.840><c> you</c><00:07:49.040><c> try</c><00:07:49.280><c> to</c><00:07:49.400><c> reduce</c><00:07:49.680><c> the</c>

00:07:49.750 --> 00:07:49.760 align:start position:0%
even if you try to reduce the
 

00:07:49.760 --> 00:07:52.510 align:start position:0%
even if you try to reduce the
quantization,<00:07:50.960><c> the</c><00:07:51.120><c> things</c><00:07:51.440><c> will</c><00:07:51.600><c> be</c><00:07:51.760><c> faster.</c>

00:07:52.510 --> 00:07:52.520 align:start position:0%
quantization, the things will be faster.
 

00:07:52.520 --> 00:07:54.870 align:start position:0%
quantization, the things will be faster.
The<00:07:52.680><c> inferencing</c><00:07:53.400><c> will</c><00:07:53.640><c> exactly</c><00:07:54.240><c> be</c><00:07:54.360><c> the</c><00:07:54.480><c> same</c>

00:07:54.870 --> 00:07:54.880 align:start position:0%
The inferencing will exactly be the same
 

00:07:54.880 --> 00:07:57.310 align:start position:0%
The inferencing will exactly be the same
exact<00:07:55.240><c> tokens</c><00:07:55.560><c> per</c><00:07:55.720><c> second</c><00:07:56.360><c> because</c><00:07:56.680><c> it</c><00:07:56.880><c> also</c>

00:07:57.310 --> 00:07:57.320 align:start position:0%
exact tokens per second because it also
 

00:07:57.320 --> 00:08:01.470 align:start position:0%
exact tokens per second because it also
need<00:07:57.680><c> to</c><00:07:58.400><c> dequantize</c><00:07:59.320><c> and</c><00:07:59.560><c> unpack</c><00:08:00.360><c> the</c>

00:08:01.470 --> 00:08:01.480 align:start position:0%
need to dequantize and unpack the
 

00:08:01.480 --> 00:08:04.070 align:start position:0%
need to dequantize and unpack the
the<00:08:01.600><c> quantization</c><00:08:02.360><c> for</c><00:08:02.600><c> you</c><00:08:03.200><c> and</c><00:08:03.480><c> then</c><00:08:03.800><c> it</c><00:08:03.960><c> is</c>

00:08:04.070 --> 00:08:04.080 align:start position:0%
the quantization for you and then it is
 

00:08:04.080 --> 00:08:05.350 align:start position:0%
the quantization for you and then it is
going<00:08:04.360><c> to</c><00:08:04.440><c> be</c><00:08:04.520><c> doing</c><00:08:04.760><c> some</c><00:08:04.920><c> compute</c>

00:08:05.350 --> 00:08:05.360 align:start position:0%
going to be doing some compute
 

00:08:05.360 --> 00:08:07.270 align:start position:0%
going to be doing some compute
operation.<00:08:05.880><c> That's</c><00:08:06.120><c> the</c><00:08:06.160><c> reason</c><00:08:06.520><c> why</c>

00:08:07.270 --> 00:08:07.280 align:start position:0%
operation. That's the reason why
 

00:08:07.280 --> 00:08:09.990 align:start position:0%
operation. That's the reason why
actually<00:08:07.600><c> the</c><00:08:07.720><c> performance</c><00:08:08.680><c> goes</c><00:08:09.120><c> slower.</c>

00:08:09.990 --> 00:08:10.000 align:start position:0%
actually the performance goes slower.
 

00:08:10.000 --> 00:08:11.830 align:start position:0%
actually the performance goes slower.
the<00:08:10.280><c> the</c><00:08:10.400><c> total</c><00:08:10.640><c> number</c><00:08:10.880><c> of</c><00:08:11.040><c> time</c><00:08:11.360><c> it</c><00:08:11.560><c> takes</c>

00:08:11.830 --> 00:08:11.840 align:start position:0%
the the total number of time it takes
 

00:08:11.840 --> 00:08:14.270 align:start position:0%
the the total number of time it takes
for<00:08:11.960><c> the</c><00:08:12.040><c> same</c><00:08:12.320><c> exact</c><00:08:12.800><c> prompt</c><00:08:13.520><c> is</c><00:08:13.760><c> going</c><00:08:14.000><c> to</c><00:08:14.080><c> be</c>

00:08:14.270 --> 00:08:14.280 align:start position:0%
for the same exact prompt is going to be
 

00:08:14.280 --> 00:08:18.750 align:start position:0%
for the same exact prompt is going to be
higher<00:08:15.040><c> than</c><00:08:15.320><c> compared</c><00:08:15.840><c> to</c><00:08:16.440><c> the</c><00:08:16.960><c> FP16</c><00:08:18.320><c> for</c><00:08:18.600><c> you</c>

00:08:18.750 --> 00:08:18.760 align:start position:0%
higher than compared to the FP16 for you
 

00:08:18.760 --> 00:08:21.310 align:start position:0%
higher than compared to the FP16 for you
over<00:08:18.919><c> there.</c><00:08:19.160><c> See</c><00:08:19.320><c> now,</c><00:08:19.880><c> this</c><00:08:20.040><c> is</c><00:08:20.280><c> going</c><00:08:20.520><c> to</c><00:08:20.600><c> be</c>

00:08:21.310 --> 00:08:21.320 align:start position:0%
over there. See now, this is going to be
 

00:08:21.320 --> 00:08:24.310 align:start position:0%
over there. See now, this is going to be
the<00:08:21.640><c> FP4</c><00:08:23.080><c> that</c><00:08:23.280><c> we</c><00:08:23.400><c> have</c><00:08:23.640><c> got.</c><00:08:24.000><c> I'm</c><00:08:24.120><c> going</c><00:08:24.240><c> to</c>

00:08:24.310 --> 00:08:24.320 align:start position:0%
the FP4 that we have got. I'm going to
 

00:08:24.320 --> 00:08:25.590 align:start position:0%
the FP4 that we have got. I'm going to
be<00:08:24.360><c> asking</c><00:08:24.600><c> the</c><00:08:24.680><c> same</c><00:08:24.880><c> exact</c><00:08:25.160><c> question.</c><00:08:25.520><c> The</c>

00:08:25.590 --> 00:08:25.600 align:start position:0%
be asking the same exact question. The
 

00:08:25.600 --> 00:08:27.110 align:start position:0%
be asking the same exact question. The
total<00:08:25.840><c> number</c><00:08:26.000><c> of</c><00:08:26.120><c> tokens</c><00:08:26.400><c> per</c><00:08:26.520><c> second</c><00:08:26.760><c> is</c><00:08:26.880><c> not</c>

00:08:27.110 --> 00:08:27.120 align:start position:0%
total number of tokens per second is not
 

00:08:27.120 --> 00:08:28.990 align:start position:0%
total number of tokens per second is not
changing<00:08:27.480><c> at</c><00:08:27.640><c> all.</c><00:08:28.160><c> And</c><00:08:28.320><c> now</c><00:08:28.520><c> if</c><00:08:28.680><c> I'm</c><00:08:28.800><c> going</c><00:08:28.919><c> to</c>

00:08:28.990 --> 00:08:29.000 align:start position:0%
changing at all. And now if I'm going to
 

00:08:29.000 --> 00:08:30.909 align:start position:0%
changing at all. And now if I'm going to
be<00:08:29.040><c> running</c><00:08:29.280><c> the</c><00:08:29.400><c> same</c><00:08:29.720><c> exact</c><00:08:30.360><c> prompt,</c><00:08:30.800><c> the</c>

00:08:30.909 --> 00:08:30.919 align:start position:0%
be running the same exact prompt, the
 

00:08:30.919 --> 00:08:33.350 align:start position:0%
be running the same exact prompt, the
Selenium<00:08:31.560><c> WebDriver</c><00:08:32.159><c> question</c><00:08:32.560><c> over</c><00:08:32.760><c> there</c>

00:08:33.350 --> 00:08:33.360 align:start position:0%
Selenium WebDriver question over there
 

00:08:33.360 --> 00:08:34.350 align:start position:0%
Selenium WebDriver question over there
with<00:08:33.520><c> the</c>

00:08:34.350 --> 00:08:34.360 align:start position:0%
with the
 

00:08:34.360 --> 00:08:36.830 align:start position:0%
with the
quantization<00:08:35.080><c> four</c><00:08:35.680><c> there,</c><00:08:36.320><c> instead</c><00:08:36.560><c> of</c><00:08:36.680><c> the</c>

00:08:36.830 --> 00:08:36.840 align:start position:0%
quantization four there, instead of the
 

00:08:36.840 --> 00:08:38.390 align:start position:0%
quantization four there, instead of the
4.04

00:08:38.390 --> 00:08:38.400 align:start position:0%
4.04
 

00:08:38.400 --> 00:08:41.550 align:start position:0%
4.04
minutes<00:08:39.039><c> which</c><00:08:39.240><c> was</c><00:08:39.400><c> taking</c><00:08:39.680><c> in</c><00:08:40.200><c> FP16,</c><00:08:41.280><c> it</c><00:08:41.400><c> is</c>

00:08:41.550 --> 00:08:41.560 align:start position:0%
minutes which was taking in FP16, it is
 

00:08:41.560 --> 00:08:44.430 align:start position:0%
minutes which was taking in FP16, it is
4.46<00:08:42.960><c> as</c><00:08:43.159><c> you</c><00:08:43.240><c> can</c><00:08:43.440><c> see</c><00:08:43.640><c> here.</c><00:08:43.919><c> So,</c><00:08:44.039><c> based</c><00:08:44.320><c> on</c>

00:08:44.430 --> 00:08:44.440 align:start position:0%
4.46 as you can see here. So, based on
 

00:08:44.440 --> 00:08:46.910 align:start position:0%
4.46 as you can see here. So, based on
the<00:08:44.520><c> quantization</c><00:08:45.240><c> change,</c><00:08:46.160><c> it</c><00:08:46.280><c> is</c><00:08:46.440><c> also</c>

00:08:46.910 --> 00:08:46.920 align:start position:0%
the quantization change, it is also
 

00:08:46.920 --> 00:08:48.510 align:start position:0%
the quantization change, it is also
obviously<00:08:47.360><c> going</c><00:08:47.480><c> to</c><00:08:47.560><c> change</c><00:08:47.880><c> the</c><00:08:48.040><c> time</c><00:08:48.360><c> over</c>

00:08:48.510 --> 00:08:48.520 align:start position:0%
obviously going to change the time over
 

00:08:48.520 --> 00:08:51.030 align:start position:0%
obviously going to change the time over
there.<00:08:49.040><c> So,</c><00:08:49.200><c> this</c><00:08:49.480><c> proves</c><00:08:49.880><c> the</c><00:08:50.040><c> point</c><00:08:50.520><c> that</c>

00:08:51.030 --> 00:08:51.040 align:start position:0%
there. So, this proves the point that
 

00:08:51.040 --> 00:08:53.430 align:start position:0%
there. So, this proves the point that
the<00:08:51.160><c> inferencing</c><00:08:51.839><c> actually</c><00:08:52.240><c> works</c><00:08:52.760><c> even</c><00:08:53.120><c> in</c>

00:08:53.430 --> 00:08:53.440 align:start position:0%
the inferencing actually works even in
 

00:08:53.440 --> 00:08:55.310 align:start position:0%
the inferencing actually works even in
LM<00:08:53.720><c> Studio</c><00:08:54.160><c> for</c><00:08:54.360><c> us</c><00:08:54.720><c> and</c><00:08:54.880><c> you</c><00:08:54.960><c> can</c><00:08:55.080><c> see</c><00:08:55.200><c> that</c>

00:08:55.310 --> 00:08:55.320 align:start position:0%
LM Studio for us and you can see that
 

00:08:55.320 --> 00:08:57.310 align:start position:0%
LM Studio for us and you can see that
the<00:08:55.440><c> output</c><00:08:55.839><c> has</c><00:08:56.080><c> got</c><00:08:56.360><c> no</c><00:08:56.520><c> compromise</c><00:08:57.160><c> as</c>

00:08:57.310 --> 00:08:57.320 align:start position:0%
the output has got no compromise as
 

00:08:57.320 --> 00:08:58.790 align:start position:0%
the output has got no compromise as
well.<00:08:57.760><c> The</c><00:08:57.880><c> output</c><00:08:58.200><c> looks</c><00:08:58.440><c> pretty</c><00:08:58.640><c> much</c>

00:08:58.790 --> 00:08:58.800 align:start position:0%
well. The output looks pretty much
 

00:08:58.800 --> 00:09:00.670 align:start position:0%
well. The output looks pretty much
exactly<00:08:59.280><c> the</c><00:08:59.400><c> same</c><00:08:59.760><c> and</c><00:08:59.880><c> I</c><00:08:59.960><c> can</c><00:09:00.160><c> see</c><00:09:00.280><c> that</c><00:09:00.560><c> it</c>

00:09:00.670 --> 00:09:00.680 align:start position:0%
exactly the same and I can see that it
 

00:09:00.680 --> 00:09:02.070 align:start position:0%
exactly the same and I can see that it
is<00:09:00.760><c> still</c><00:09:01.000><c> working.</c><00:09:01.560><c> I</c><00:09:01.600><c> mean</c><00:09:01.720><c> there</c><00:09:01.839><c> is</c><00:09:01.960><c> a</c>

00:09:02.070 --> 00:09:02.080 align:start position:0%
is still working. I mean there is a
 

00:09:02.080 --> 00:09:03.590 align:start position:0%
is still working. I mean there is a
change<00:09:02.480><c> in</c><00:09:02.560><c> the</c><00:09:02.680><c> output</c><00:09:03.040><c> of</c><00:09:03.160><c> course</c><00:09:03.440><c> in</c><00:09:03.520><c> the</c>

00:09:03.590 --> 00:09:03.600 align:start position:0%
change in the output of course in the
 

00:09:03.600 --> 00:09:05.630 align:start position:0%
change in the output of course in the
WebDriver<00:09:04.680><c> for</c><00:09:04.800><c> the</c><00:09:04.880><c> dependence</c><00:09:05.280><c> injection.</c>

00:09:05.630 --> 00:09:05.640 align:start position:0%
WebDriver for the dependence injection.
 

00:09:05.640 --> 00:09:07.950 align:start position:0%
WebDriver for the dependence injection.
It's<00:09:05.800><c> there</c><00:09:06.120><c> over</c><00:09:06.360><c> here.</c><00:09:06.960><c> But</c><00:09:07.120><c> in</c><00:09:07.240><c> here,</c><00:09:07.839><c> you</c>

00:09:07.950 --> 00:09:07.960 align:start position:0%
It's there over here. But in here, you
 

00:09:07.960 --> 00:09:09.230 align:start position:0%
It's there over here. But in here, you
can<00:09:08.120><c> see</c><00:09:08.200><c> that</c><00:09:08.320><c> the</c><00:09:08.360><c> dependence</c><00:09:08.800><c> injection</c>

00:09:09.230 --> 00:09:09.240 align:start position:0%
can see that the dependence injection
 

00:09:09.240 --> 00:09:11.390 align:start position:0%
can see that the dependence injection
setup<00:09:09.720><c> has</c><00:09:10.000><c> got</c><00:09:10.200><c> a</c><00:09:10.240><c> bit</c><00:09:10.680><c> different</c><00:09:11.120><c> with</c><00:09:11.240><c> like</c>

00:09:11.390 --> 00:09:11.400 align:start position:0%
setup has got a bit different with like
 

00:09:11.400 --> 00:09:13.590 align:start position:0%
setup has got a bit different with like
driver<00:09:11.720><c> factory</c><00:09:12.200><c> class</c><00:09:12.480><c> there.</c><00:09:13.040><c> That's</c><00:09:13.240><c> the</c>

00:09:13.590 --> 00:09:13.600 align:start position:0%
driver factory class there. That's the
 

00:09:13.600 --> 00:09:15.310 align:start position:0%
driver factory class there. That's the
only<00:09:13.839><c> difference</c><00:09:14.160><c> between</c><00:09:14.440><c> both</c><00:09:14.680><c> of</c><00:09:14.800><c> them.</c>

00:09:15.310 --> 00:09:15.320 align:start position:0%
only difference between both of them.
 

00:09:15.320 --> 00:09:17.870 align:start position:0%
only difference between both of them.
But<00:09:15.920><c> overall,</c><00:09:16.640><c> I</c><00:09:16.720><c> can</c><00:09:16.960><c> actually</c><00:09:17.320><c> see</c><00:09:17.520><c> that</c><00:09:17.800><c> it</c>

00:09:17.870 --> 00:09:17.880 align:start position:0%
But overall, I can actually see that it
 

00:09:17.880 --> 00:09:20.270 align:start position:0%
But overall, I can actually see that it
is<00:09:18.120><c> working</c><00:09:18.680><c> pretty</c><00:09:18.880><c> much</c><00:09:19.160><c> as</c><00:09:19.320><c> expected.</c><00:09:20.200><c> The</c>

00:09:20.270 --> 00:09:20.280 align:start position:0%
is working pretty much as expected. The
 

00:09:20.280 --> 00:09:22.750 align:start position:0%
is working pretty much as expected. The
last<00:09:20.720><c> test</c><00:09:20.880><c> which</c><00:09:21.040><c> I</c><00:09:21.120><c> wanted</c><00:09:21.400><c> to</c><00:09:21.560><c> do</c><00:09:22.080><c> with</c><00:09:22.400><c> the</c>

00:09:22.750 --> 00:09:22.760 align:start position:0%
last test which I wanted to do with the
 

00:09:22.760 --> 00:09:25.710 align:start position:0%
last test which I wanted to do with the
FP16<00:09:23.920><c> of</c><00:09:24.040><c> the</c><00:09:24.120><c> same</c><00:09:24.360><c> exact</c><00:09:24.760><c> model</c><00:09:25.320><c> is</c><00:09:25.520><c> by</c>

00:09:25.710 --> 00:09:25.720 align:start position:0%
FP16 of the same exact model is by
 

00:09:25.720 --> 00:09:29.110 align:start position:0%
FP16 of the same exact model is by
connecting<00:09:26.600><c> to</c><00:09:27.080><c> a</c><00:09:27.480><c> pie</c><00:09:27.760><c> coding</c><00:09:28.240><c> agent.</c><00:09:28.839><c> I</c><00:09:28.920><c> want</c>

00:09:29.110 --> 00:09:29.120 align:start position:0%
connecting to a pie coding agent. I want
 

00:09:29.120 --> 00:09:30.750 align:start position:0%
connecting to a pie coding agent. I want
to<00:09:29.200><c> really</c><00:09:29.440><c> see</c><00:09:29.800><c> if</c><00:09:29.920><c> this</c><00:09:30.080><c> is</c><00:09:30.200><c> going</c><00:09:30.320><c> to</c><00:09:30.440><c> work</c>

00:09:30.750 --> 00:09:30.760 align:start position:0%
to really see if this is going to work
 

00:09:30.760 --> 00:09:33.630 align:start position:0%
to really see if this is going to work
or<00:09:30.880><c> not.</c><00:09:31.160><c> So,</c><00:09:31.640><c> I</c><00:09:31.720><c> have</c><00:09:31.880><c> set</c><00:09:32.120><c> the</c><00:09:32.640><c> FP16</c><00:09:33.400><c> over</c>

00:09:33.630 --> 00:09:33.640 align:start position:0%
or not. So, I have set the FP16 over
 

00:09:33.640 --> 00:09:36.470 align:start position:0%
or not. So, I have set the FP16 over
here.<00:09:34.280><c> I'm</c><00:09:34.520><c> running</c><00:09:34.800><c> it</c><00:09:35.320><c> and</c><00:09:35.760><c> I'm</c><00:09:35.920><c> going</c><00:09:36.120><c> to</c><00:09:36.200><c> be</c>

00:09:36.470 --> 00:09:36.480 align:start position:0%
here. I'm running it and I'm going to be
 

00:09:36.480 --> 00:09:39.030 align:start position:0%
here. I'm running it and I'm going to be
opening<00:09:36.880><c> the</c><00:09:37.120><c> pie</c><00:09:37.360><c> coding</c><00:09:37.800><c> agent</c><00:09:38.240><c> over</c><00:09:38.440><c> here</c>

00:09:39.030 --> 00:09:39.040 align:start position:0%
opening the pie coding agent over here
 

00:09:39.040 --> 00:09:40.950 align:start position:0%
opening the pie coding agent over here
and<00:09:39.160><c> I'm</c><00:09:39.240><c> going</c><00:09:39.360><c> to</c><00:09:39.440><c> choose</c><00:09:39.840><c> the</c><00:09:40.000><c> model.</c><00:09:40.800><c> As</c>

00:09:40.950 --> 00:09:40.960 align:start position:0%
and I'm going to choose the model. As
 

00:09:40.960 --> 00:09:42.190 align:start position:0%
and I'm going to choose the model. As
you<00:09:41.040><c> can</c><00:09:41.240><c> see</c><00:09:41.360><c> I'm</c><00:09:41.440><c> going</c><00:09:41.560><c> to</c><00:09:41.640><c> be</c><00:09:41.680><c> chasing</c>

00:09:42.190 --> 00:09:42.200 align:start position:0%
you can see I'm going to be chasing
 

00:09:42.200 --> 00:09:45.830 align:start position:0%
you can see I'm going to be chasing
choosing<00:09:42.520><c> that</c><00:09:42.920><c> GSQRCO</c><00:09:44.240><c> onslaught</c><00:09:45.000><c> MTP</c><00:09:45.520><c> model</c>

00:09:45.830 --> 00:09:45.840 align:start position:0%
choosing that GSQRCO onslaught MTP model
 

00:09:45.840 --> 00:09:46.950 align:start position:0%
choosing that GSQRCO onslaught MTP model
there.

00:09:46.950 --> 00:09:46.960 align:start position:0%
there.
 

00:09:46.960 --> 00:09:49.510 align:start position:0%
there.
And<00:09:47.880><c> I'm</c><00:09:48.120><c> going</c><00:09:48.320><c> to</c><00:09:48.360><c> be</c><00:09:48.520><c> just</c><00:09:48.720><c> saying</c><00:09:49.040><c> hi</c><00:09:49.360><c> over</c>

00:09:49.510 --> 00:09:49.520 align:start position:0%
And I'm going to be just saying hi over
 

00:09:49.520 --> 00:09:51.790 align:start position:0%
And I'm going to be just saying hi over
there.<00:09:50.160><c> Even</c><00:09:50.480><c> for</c><00:09:50.640><c> a</c><00:09:50.720><c> high</c><00:09:51.040><c> message</c><00:09:51.440><c> it</c><00:09:51.600><c> was</c>

00:09:51.790 --> 00:09:51.800 align:start position:0%
there. Even for a high message it was
 

00:09:51.800 --> 00:09:54.190 align:start position:0%
there. Even for a high message it was
taking<00:09:52.200><c> a</c><00:09:52.320><c> long</c><00:09:52.760><c> time.</c><00:09:53.080><c> It's</c><00:09:53.280><c> not</c><00:09:53.520><c> very</c><00:09:53.760><c> fast</c>

00:09:54.190 --> 00:09:54.200 align:start position:0%
taking a long time. It's not very fast
 

00:09:54.200 --> 00:09:55.830 align:start position:0%
taking a long time. It's not very fast
as<00:09:54.320><c> you</c><00:09:54.440><c> can</c><00:09:54.560><c> imagine.</c>

00:09:55.830 --> 00:09:55.840 align:start position:0%
as you can imagine.
 

00:09:55.840 --> 00:09:58.270 align:start position:0%
as you can imagine.
It<00:09:55.960><c> was</c><00:09:56.160><c> taking</c><00:09:56.880><c> a</c><00:09:56.960><c> long</c><00:09:57.240><c> time</c><00:09:57.560><c> and</c><00:09:57.680><c> the</c><00:09:57.800><c> output</c>

00:09:58.270 --> 00:09:58.280 align:start position:0%
It was taking a long time and the output
 

00:09:58.280 --> 00:09:59.790 align:start position:0%
It was taking a long time and the output
you<00:09:58.360><c> can</c><00:09:58.520><c> see</c><00:09:58.640><c> that</c><00:09:58.920><c> it</c><00:09:59.040><c> is</c><00:09:59.440><c> going</c><00:09:59.600><c> to</c><00:09:59.680><c> be</c>

00:09:59.790 --> 00:09:59.800 align:start position:0%
you can see that it is going to be
 

00:09:59.800 --> 00:10:02.430 align:start position:0%
you can see that it is going to be
giving<00:10:00.080><c> you</c><00:10:00.640><c> very</c><00:10:00.880><c> very</c><00:10:01.080><c> slow</c><00:10:01.320><c> here.</c><00:10:01.840><c> Which</c><00:10:02.000><c> is</c>

00:10:02.430 --> 00:10:02.440 align:start position:0%
giving you very very slow here. Which is
 

00:10:02.440 --> 00:10:04.110 align:start position:0%
giving you very very slow here. Which is
quite<00:10:02.720><c> expected</c><00:10:03.240><c> because</c><00:10:03.440><c> this</c><00:10:03.600><c> is</c><00:10:03.720><c> a</c><00:10:03.760><c> dense</c>

00:10:04.110 --> 00:10:04.120 align:start position:0%
quite expected because this is a dense
 

00:10:04.120 --> 00:10:06.550 align:start position:0%
quite expected because this is a dense
model.<00:10:04.720><c> And</c><00:10:04.880><c> I</c><00:10:05.000><c> now</c><00:10:05.120><c> have</c><00:10:05.320><c> told</c><00:10:05.600><c> it</c><00:10:05.720><c> to</c><00:10:06.080><c> analyze</c>

00:10:06.550 --> 00:10:06.560 align:start position:0%
model. And I now have told it to analyze
 

00:10:06.560 --> 00:10:08.590 align:start position:0%
model. And I now have told it to analyze
the<00:10:06.760><c> code</c><00:10:07.720><c> for</c><00:10:07.960><c> me</c><00:10:08.160><c> this</c><00:10:08.320><c> particular</c>

00:10:08.590 --> 00:10:08.600 align:start position:0%
the code for me this particular
 

00:10:08.600 --> 00:10:13.630 align:start position:0%
the code for me this particular
repository<00:10:09.600><c> and</c><00:10:09.880><c> that</c><00:10:10.200><c> took</c><00:10:10.400><c> me</c><00:10:10.920><c> more</c><00:10:11.320><c> than</c><00:10:12.200><c> 27</c>

00:10:13.630 --> 00:10:13.640 align:start position:0%
repository and that took me more than 27
 

00:10:13.640 --> 00:10:15.750 align:start position:0%
repository and that took me more than 27
minutes<00:10:14.280><c> just</c><00:10:14.600><c> to</c><00:10:14.760><c> analyze</c><00:10:15.120><c> the</c><00:10:15.240><c> code.</c><00:10:15.440><c> I</c><00:10:15.520><c> mean</c>

00:10:15.750 --> 00:10:15.760 align:start position:0%
minutes just to analyze the code. I mean
 

00:10:15.760 --> 00:10:17.830 align:start position:0%
minutes just to analyze the code. I mean
it<00:10:15.920><c> went</c><00:10:16.240><c> so</c><00:10:16.520><c> deep</c><00:10:16.880><c> to</c><00:10:17.000><c> be</c><00:10:17.120><c> honest</c><00:10:17.400><c> like</c><00:10:17.560><c> going</c>

00:10:17.830 --> 00:10:17.840 align:start position:0%
it went so deep to be honest like going
 

00:10:17.840 --> 00:10:19.590 align:start position:0%
it went so deep to be honest like going
through<00:10:18.000><c> each</c><00:10:18.160><c> and</c><00:10:18.280><c> every</c><00:10:18.520><c> file</c><00:10:19.160><c> even</c><00:10:19.360><c> start</c>

00:10:19.590 --> 00:10:19.600 align:start position:0%
through each and every file even start
 

00:10:19.600 --> 00:10:20.830 align:start position:0%
through each and every file even start
to<00:10:19.720><c> figure</c><00:10:19.960><c> out</c><00:10:20.160><c> what</c><00:10:20.320><c> exactly</c><00:10:20.640><c> is</c><00:10:20.720><c> the</c>

00:10:20.830 --> 00:10:20.840 align:start position:0%
to figure out what exactly is the
 

00:10:20.840 --> 00:10:22.830 align:start position:0%
to figure out what exactly is the
problem<00:10:21.320><c> in</c><00:10:21.440><c> the</c><00:10:21.560><c> particular</c><00:10:21.880><c> code.</c><00:10:22.520><c> But</c>

00:10:22.830 --> 00:10:22.840 align:start position:0%
problem in the particular code. But
 

00:10:22.840 --> 00:10:25.430 align:start position:0%
problem in the particular code. But
actually<00:10:23.120><c> took</c><00:10:23.360><c> 27</c><00:10:24.000><c> minutes</c><00:10:24.680><c> to</c><00:10:24.880><c> give</c><00:10:25.120><c> me</c><00:10:25.240><c> the</c>

00:10:25.430 --> 00:10:25.440 align:start position:0%
actually took 27 minutes to give me the
 

00:10:25.440 --> 00:10:27.510 align:start position:0%
actually took 27 minutes to give me the
output<00:10:26.120><c> which</c><00:10:26.320><c> is</c><00:10:26.600><c> what</c><00:10:26.840><c> really</c><00:10:27.080><c> happened</c>

00:10:27.510 --> 00:10:27.520 align:start position:0%
output which is what really happened
 

00:10:27.520 --> 00:10:29.830 align:start position:0%
output which is what really happened
over<00:10:27.680><c> here</c><00:10:27.880><c> as</c><00:10:28.040><c> you</c><00:10:28.120><c> can</c><00:10:28.320><c> see.</c><00:10:29.120><c> So</c><00:10:29.280><c> long</c><00:10:29.520><c> story</c>

00:10:29.830 --> 00:10:29.840 align:start position:0%
over here as you can see. So long story
 

00:10:29.840 --> 00:10:32.150 align:start position:0%
over here as you can see. So long story
short,<00:10:30.280><c> you</c><00:10:30.480><c> can</c><00:10:30.960><c> run</c><00:10:31.440><c> a</c><00:10:31.840><c> two-bit</c>

00:10:32.150 --> 00:10:32.160 align:start position:0%
short, you can run a two-bit
 

00:10:32.160 --> 00:10:35.870 align:start position:0%
short, you can run a two-bit
quantization<00:10:33.080><c> Qwen</c><00:10:33.360><c> 3.8</c><00:10:34.520><c> 27</c><00:10:35.440><c> billion</c>

00:10:35.870 --> 00:10:35.880 align:start position:0%
quantization Qwen 3.8 27 billion
 

00:10:35.880 --> 00:10:39.790 align:start position:0%
quantization Qwen 3.8 27 billion
parameter<00:10:36.440><c> model</c><00:10:37.320><c> in</c><00:10:37.640><c> an</c><00:10:38.160><c> Apple</c><00:10:38.720><c> M4</c><00:10:39.280><c> Mac</c><00:10:39.600><c> mini</c>

00:10:39.790 --> 00:10:39.800 align:start position:0%
parameter model in an Apple M4 Mac mini
 

00:10:39.800 --> 00:10:41.310 align:start position:0%
parameter model in an Apple M4 Mac mini
machine<00:10:40.240><c> without</c><00:10:40.600><c> hitting</c><00:10:40.839><c> the</c><00:10:40.960><c> memory</c>

00:10:41.310 --> 00:10:41.320 align:start position:0%
machine without hitting the memory
 

00:10:41.320 --> 00:10:43.150 align:start position:0%
machine without hitting the memory
ceiling.<00:10:41.760><c> But</c><00:10:42.000><c> what</c><00:10:42.160><c> is</c><00:10:42.280><c> the</c><00:10:42.760><c> actual</c>

00:10:43.150 --> 00:10:43.160 align:start position:0%
ceiling. But what is the actual
 

00:10:43.160 --> 00:10:46.070 align:start position:0%
ceiling. But what is the actual
technique<00:10:43.880><c> which</c><00:10:44.160><c> makes</c><00:10:45.080><c> the</c><00:10:45.600><c> two-bit</c>

00:10:46.070 --> 00:10:46.080 align:start position:0%
technique which makes the two-bit
 

00:10:46.080 --> 00:10:49.230 align:start position:0%
technique which makes the two-bit
quantization<00:10:47.280><c> which</c><00:10:47.760><c> helps</c><00:10:48.120><c> you</c><00:10:48.360><c> run</c><00:10:48.800><c> in</c><00:10:48.960><c> a</c>

00:10:49.230 --> 00:10:49.240 align:start position:0%
quantization which helps you run in a
 

00:10:49.240 --> 00:10:51.550 align:start position:0%
quantization which helps you run in a
Mac<00:10:49.560><c> mini</c><00:10:49.800><c> M4</c><00:10:50.160><c> machine</c><00:10:50.600><c> is</c><00:10:50.920><c> actually</c><00:10:51.200><c> the</c><00:10:51.320><c> most</c>

00:10:51.550 --> 00:10:51.560 align:start position:0%
Mac mini M4 machine is actually the most
 

00:10:51.560 --> 00:10:53.110 align:start position:0%
Mac mini M4 machine is actually the most
important<00:10:51.960><c> part.</c><00:10:52.120><c> That's</c><00:10:52.240><c> the</c><00:10:52.280><c> reason</c><00:10:52.520><c> why</c><00:10:53.000><c> I</c>

00:10:53.110 --> 00:10:53.120 align:start position:0%
important part. That's the reason why I
 

00:10:53.120 --> 00:10:54.470 align:start position:0%
important part. That's the reason why I
actually<00:10:53.440><c> wanted</c><00:10:53.680><c> to</c><00:10:53.800><c> show</c><00:10:54.000><c> you</c><00:10:54.200><c> what's</c>

00:10:54.470 --> 00:10:54.480 align:start position:0%
actually wanted to show you what's
 

00:10:54.480 --> 00:10:56.510 align:start position:0%
actually wanted to show you what's
really<00:10:54.680><c> happening</c><00:10:55.040><c> over</c><00:10:55.200><c> here.</c><00:10:55.839><c> And</c><00:10:56.240><c> other</c>

00:10:56.510 --> 00:10:56.520 align:start position:0%
really happening over here. And other
 

00:10:56.520 --> 00:10:58.550 align:start position:0%
really happening over here. And other
thing<00:10:56.920><c> is</c><00:10:57.200><c> you</c><00:10:57.360><c> may</c><00:10:57.520><c> ask</c><00:10:58.040><c> what</c><00:10:58.120><c> happens</c><00:10:58.440><c> if</c><00:10:58.480><c> you</c>

00:10:58.550 --> 00:10:58.560 align:start position:0%
thing is you may ask what happens if you
 

00:10:58.560 --> 00:11:01.950 align:start position:0%
thing is you may ask what happens if you
try<00:10:58.760><c> to</c><00:10:59.000><c> run</c><00:10:59.280><c> the</c><00:10:59.400><c> same</c><00:10:59.800><c> exact</c><00:11:00.320><c> model</c><00:11:01.320><c> in</c><00:11:01.640><c> the</c>

00:11:01.950 --> 00:11:01.960 align:start position:0%
try to run the same exact model in the
 

00:11:01.960 --> 00:11:04.990 align:start position:0%
try to run the same exact model in the
Apple<00:11:02.520><c> M5</c><00:11:03.240><c> Max</c><00:11:03.600><c> machine,</c><00:11:04.040><c> right?</c><00:11:04.520><c> So</c><00:11:04.880><c> I'm</c>

00:11:04.990 --> 00:11:05.000 align:start position:0%
Apple M5 Max machine, right? So I'm
 

00:11:05.000 --> 00:11:06.870 align:start position:0%
Apple M5 Max machine, right? So I'm
going<00:11:05.120><c> to</c><00:11:05.200><c> be</c><00:11:05.320><c> loading</c><00:11:05.640><c> the</c><00:11:05.760><c> same</c><00:11:06.080><c> exact</c><00:11:06.520><c> model</c>

00:11:06.870 --> 00:11:06.880 align:start position:0%
going to be loading the same exact model
 

00:11:06.880 --> 00:11:09.630 align:start position:0%
going to be loading the same exact model
as<00:11:07.080><c> you</c><00:11:07.200><c> can</c><00:11:07.440><c> see</c><00:11:07.680><c> over</c><00:11:07.880><c> here</c><00:11:08.839><c> and</c><00:11:09.320><c> I'm</c><00:11:09.480><c> going</c>

00:11:09.630 --> 00:11:09.640 align:start position:0%
as you can see over here and I'm going
 

00:11:09.640 --> 00:11:13.150 align:start position:0%
as you can see over here and I'm going
to<00:11:09.720><c> be</c><00:11:10.120><c> doing</c><00:11:10.480><c> an</c><00:11:10.640><c> FP16</c><00:11:11.440><c> here</c><00:11:12.000><c> as</c><00:11:12.280><c> well.</c><00:11:12.880><c> So</c>

00:11:13.150 --> 00:11:13.160 align:start position:0%
to be doing an FP16 here as well. So
 

00:11:13.160 --> 00:11:16.190 align:start position:0%
to be doing an FP16 here as well. So
FP16<00:11:14.200><c> max</c><00:11:14.520><c> current</c><00:11:14.880><c> prediction</c><00:11:15.839><c> is</c><00:11:15.960><c> going</c><00:11:16.120><c> to</c>

00:11:16.190 --> 00:11:16.200 align:start position:0%
FP16 max current prediction is going to
 

00:11:16.200 --> 00:11:18.230 align:start position:0%
FP16 max current prediction is going to
be<00:11:16.320><c> one</c><00:11:16.680><c> as</c><00:11:16.880><c> well.</c><00:11:17.560><c> I'm</c><00:11:17.720><c> going</c><00:11:17.839><c> to</c><00:11:17.920><c> loading</c>

00:11:18.230 --> 00:11:18.240 align:start position:0%
be one as well. I'm going to loading
 

00:11:18.240 --> 00:11:19.990 align:start position:0%
be one as well. I'm going to loading
this<00:11:18.320><c> particular</c><00:11:18.600><c> model</c><00:11:19.240><c> and</c><00:11:19.480><c> let's</c><00:11:19.640><c> try</c><00:11:19.839><c> to</c>

00:11:19.990 --> 00:11:20.000 align:start position:0%
this particular model and let's try to
 

00:11:20.000 --> 00:11:21.670 align:start position:0%
this particular model and let's try to
ask<00:11:20.200><c> the</c><00:11:20.320><c> same</c><00:11:20.560><c> exact</c><00:11:20.880><c> question</c><00:11:21.240><c> over</c><00:11:21.440><c> here</c>

00:11:21.670 --> 00:11:21.680 align:start position:0%
ask the same exact question over here
 

00:11:21.680 --> 00:11:23.270 align:start position:0%
ask the same exact question over here
and<00:11:21.800><c> see</c><00:11:22.280><c> how</c><00:11:22.480><c> this</c><00:11:22.680><c> is</c><00:11:22.839><c> actually</c><00:11:23.080><c> going</c><00:11:23.200><c> to</c>

00:11:23.270 --> 00:11:23.280 align:start position:0%
and see how this is actually going to
 

00:11:23.280 --> 00:11:25.990 align:start position:0%
and see how this is actually going to
work<00:11:23.760><c> in</c><00:11:23.920><c> my</c><00:11:24.120><c> Apple</c><00:11:24.520><c> M5</c><00:11:25.000><c> Max</c><00:11:25.360><c> machine.</c><00:11:25.760><c> So</c><00:11:25.839><c> this</c>

00:11:25.990 --> 00:11:26.000 align:start position:0%
work in my Apple M5 Max machine. So this
 

00:11:26.000 --> 00:11:28.750 align:start position:0%
work in my Apple M5 Max machine. So this
is<00:11:26.120><c> a</c><00:11:26.560><c> 128</c><00:11:27.160><c> gig</c><00:11:27.400><c> machine.</c><00:11:28.080><c> So</c><00:11:28.240><c> you</c><00:11:28.400><c> might</c><00:11:28.640><c> be</c>

00:11:28.750 --> 00:11:28.760 align:start position:0%
is a 128 gig machine. So you might be
 

00:11:28.760 --> 00:11:31.030 align:start position:0%
is a 128 gig machine. So you might be
expecting<00:11:29.280><c> it</c><00:11:29.400><c> to</c><00:11:29.480><c> be</c><00:11:29.880><c> running</c><00:11:30.200><c> it</c><00:11:30.320><c> faster</c><00:11:30.880><c> and</c>

00:11:31.030 --> 00:11:31.040 align:start position:0%
expecting it to be running it faster and
 

00:11:31.040 --> 00:11:32.870 align:start position:0%
expecting it to be running it faster and
you'll<00:11:31.160><c> be</c><00:11:31.600><c> expecting</c><00:11:32.080><c> it</c><00:11:32.160><c> to</c><00:11:32.240><c> get</c><00:11:32.520><c> at</c><00:11:32.640><c> least</c><00:11:32.840><c> a</c>

00:11:32.870 --> 00:11:32.880 align:start position:0%
you'll be expecting it to get at least a
 

00:11:32.880 --> 00:11:34.590 align:start position:0%
you'll be expecting it to get at least a
100<00:11:33.280><c> tokens</c><00:11:33.600><c> per</c><00:11:33.760><c> second</c><00:11:34.080><c> if</c><00:11:34.200><c> you're</c><00:11:34.320><c> thinking</c>

00:11:34.590 --> 00:11:34.600 align:start position:0%
100 tokens per second if you're thinking
 

00:11:34.600 --> 00:11:36.150 align:start position:0%
100 tokens per second if you're thinking
that<00:11:34.760><c> way.</c><00:11:35.400><c> But,</c><00:11:35.560><c> if</c><00:11:35.760><c> I'm</c><00:11:35.880><c> going</c><00:11:36.000><c> to</c><00:11:36.080><c> be</c>

00:11:36.150 --> 00:11:36.160 align:start position:0%
that way. But, if I'm going to be
 

00:11:36.160 --> 00:11:39.590 align:start position:0%
that way. But, if I'm going to be
running<00:11:36.760><c> the</c><00:11:36.880><c> same</c><00:11:37.160><c> exact</c><00:11:38.280><c> model</c><00:11:39.160><c> in</c><00:11:39.360><c> this</c>

00:11:39.590 --> 00:11:39.600 align:start position:0%
running the same exact model in this
 

00:11:39.600 --> 00:11:42.550 align:start position:0%
running the same exact model in this
machine,<00:11:40.640><c> you</c><00:11:40.760><c> can</c><00:11:41.000><c> see</c><00:11:41.640><c> that</c><00:11:42.280><c> it</c><00:11:42.440><c> is</c>

00:11:42.550 --> 00:11:42.560 align:start position:0%
machine, you can see that it is
 

00:11:42.560 --> 00:11:45.990 align:start position:0%
machine, you can see that it is
responding<00:11:43.440><c> with</c><00:11:43.680><c> 27</c><00:11:44.560><c> tokens</c><00:11:44.920><c> per</c><00:11:45.080><c> second.</c><00:11:45.880><c> It</c>

00:11:45.990 --> 00:11:46.000 align:start position:0%
responding with 27 tokens per second. It
 

00:11:46.000 --> 00:11:49.150 align:start position:0%
responding with 27 tokens per second. It
is<00:11:46.120><c> not</c><00:11:46.360><c> like</c><00:11:46.520><c> 127</c><00:11:47.400><c> tokens</c><00:11:47.760><c> per</c><00:11:47.880><c> second.</c><00:11:48.840><c> So,</c>

00:11:49.150 --> 00:11:49.160 align:start position:0%
is not like 127 tokens per second. So,
 

00:11:49.160 --> 00:11:51.830 align:start position:0%
is not like 127 tokens per second. So,
it<00:11:49.440><c> proves</c><00:11:49.760><c> the</c><00:11:49.880><c> point</c><00:11:50.280><c> that</c><00:11:51.000><c> it's</c><00:11:51.200><c> not</c><00:11:51.520><c> just</c>

00:11:51.830 --> 00:11:51.840 align:start position:0%
it proves the point that it's not just
 

00:11:51.840 --> 00:11:55.030 align:start position:0%
it proves the point that it's not just
about<00:11:52.680><c> the</c><00:11:53.200><c> two-bit</c><00:11:53.560><c> quantization</c><00:11:54.440><c> model</c>

00:11:55.030 --> 00:11:55.040 align:start position:0%
about the two-bit quantization model
 

00:11:55.040 --> 00:11:57.430 align:start position:0%
about the two-bit quantization model
which<00:11:55.200><c> can</c><00:11:55.400><c> run</c><00:11:55.880><c> way</c><00:11:56.080><c> more</c><00:11:56.320><c> faster</c><00:11:56.800><c> in</c><00:11:56.920><c> an</c>

00:11:57.430 --> 00:11:57.440 align:start position:0%
which can run way more faster in an
 

00:11:57.440 --> 00:11:59.350 align:start position:0%
which can run way more faster in an
Apple<00:11:57.760><c> M5</c><00:11:58.080><c> Max</c><00:11:58.320><c> machine</c><00:11:58.680><c> because</c><00:11:58.960><c> it's</c><00:11:59.160><c> even</c>

00:11:59.350 --> 00:11:59.360 align:start position:0%
Apple M5 Max machine because it's even
 

00:11:59.360 --> 00:12:02.950 align:start position:0%
Apple M5 Max machine because it's even
running<00:11:59.640><c> in</c><00:11:59.720><c> the</c><00:12:00.320><c> M4</c><00:12:01.400><c> mini</c><00:12:01.720><c> machine.</c><00:12:02.360><c> But,</c><00:12:02.720><c> the</c>

00:12:02.950 --> 00:12:02.960 align:start position:0%
running in the M4 mini machine. But, the
 

00:12:02.960 --> 00:12:04.790 align:start position:0%
running in the M4 mini machine. But, the
the<00:12:03.080><c> thing</c><00:12:03.280><c> is</c><00:12:03.840><c> even</c><00:12:04.080><c> though</c><00:12:04.280><c> it</c><00:12:04.400><c> is</c><00:12:04.480><c> a</c><00:12:04.520><c> two-bit</c>

00:12:04.790 --> 00:12:04.800 align:start position:0%
the thing is even though it is a two-bit
 

00:12:04.800 --> 00:12:07.470 align:start position:0%
the thing is even though it is a two-bit
quantization,<00:12:05.720><c> the</c><00:12:05.880><c> quality</c><00:12:06.680><c> of</c><00:12:06.880><c> the</c><00:12:07.080><c> output</c>

00:12:07.470 --> 00:12:07.480 align:start position:0%
quantization, the quality of the output
 

00:12:07.480 --> 00:12:10.270 align:start position:0%
quantization, the quality of the output
still<00:12:08.040><c> remains,</c><00:12:08.800><c> and</c><00:12:08.920><c> that's</c><00:12:09.120><c> the</c><00:12:09.200><c> reason</c><00:12:09.920><c> the</c>

00:12:10.270 --> 00:12:10.280 align:start position:0%
still remains, and that's the reason the
 

00:12:10.280 --> 00:12:13.190 align:start position:0%
still remains, and that's the reason the
the<00:12:10.400><c> technique</c><00:12:10.880><c> of</c><00:12:11.080><c> the</c><00:12:11.520><c> GSQ</c><00:12:12.160><c> RCU</c><00:12:12.680><c> sits</c><00:12:13.000><c> in.</c>

00:12:13.190 --> 00:12:13.200 align:start position:0%
the technique of the GSQ RCU sits in.
 

00:12:13.200 --> 00:12:15.950 align:start position:0%
the technique of the GSQ RCU sits in.
So,<00:12:13.360><c> it</c><00:12:13.600><c> it</c><00:12:13.720><c> safely</c><00:12:14.160><c> chooses</c><00:12:14.600><c> the</c><00:12:14.760><c> best</c><00:12:15.200><c> tensor</c>

00:12:15.950 --> 00:12:15.960 align:start position:0%
So, it it safely chooses the best tensor
 

00:12:15.960 --> 00:12:18.750 align:start position:0%
So, it it safely chooses the best tensor
which<00:12:16.120><c> can</c><00:12:16.320><c> be</c><00:12:16.520><c> optimized</c><00:12:17.240><c> to</c><00:12:17.360><c> do</c><00:12:17.600><c> a</c><00:12:17.720><c> better</c>

00:12:18.750 --> 00:12:18.760 align:start position:0%
which can be optimized to do a better
 

00:12:18.760 --> 00:12:21.790 align:start position:0%
which can be optimized to do a better
work<00:12:19.160><c> for</c><00:12:19.800><c> better</c><00:12:20.160><c> precision</c><00:12:21.360><c> instead</c><00:12:21.680><c> of</c>

00:12:21.790 --> 00:12:21.800 align:start position:0%
work for better precision instead of
 

00:12:21.800 --> 00:12:23.510 align:start position:0%
work for better precision instead of
focusing<00:12:22.320><c> on</c><00:12:22.600><c> the</c><00:12:22.760><c> low</c><00:12:23.000><c> precision</c>

00:12:23.510 --> 00:12:23.520 align:start position:0%
focusing on the low precision
 

00:12:23.520 --> 00:12:26.150 align:start position:0%
focusing on the low precision
quantizations<00:12:24.560><c> that</c><00:12:24.760><c> is</c><00:12:24.880><c> there</c>

00:12:26.150 --> 00:12:26.160 align:start position:0%
quantizations that is there
 

00:12:26.160 --> 00:12:27.550 align:start position:0%
quantizations that is there
on<00:12:26.320><c> the</c><00:12:26.440><c> tensors</c><00:12:26.920><c> there.</c><00:12:27.360><c> So,</c><00:12:27.380><c> [music]</c><00:12:27.400><c> that's</c>

00:12:27.550 --> 00:12:27.560 align:start position:0%
on the tensors there. So, [music] that's
 

00:12:27.560 --> 00:12:28.870 align:start position:0%
on the tensors there. So, [music] that's
it,<00:12:27.640><c> guys.</c><00:12:27.920><c> This</c><00:12:28.080><c> is</c><00:12:28.120><c> all</c><00:12:28.320><c> I</c><00:12:28.360><c> wanted</c><00:12:28.600><c> to</c><00:12:28.640><c> talk</c>

00:12:28.870 --> 00:12:28.880 align:start position:0%
it, guys. This is all I wanted to talk
 

00:12:28.880 --> 00:12:31.710 align:start position:0%
it, guys. This is all I wanted to talk
to<00:12:29.000><c> you</c><00:12:29.160><c> about</c><00:12:29.560><c> the</c><00:12:29.680><c> Quant</c><00:12:30.000><c> 3.8</c><00:12:30.680><c> 27</c><00:12:31.240><c> billion</c>

00:12:31.710 --> 00:12:31.720 align:start position:0%
to you about the Quant 3.8 27 billion
 

00:12:31.720 --> 00:12:33.150 align:start position:0%
to you about the Quant 3.8 27 billion
parameter<00:12:32.080><c> model</c><00:12:32.440><c> with</c><00:12:32.640><c> two-bit</c>

00:12:33.150 --> 00:12:33.160 align:start position:0%
parameter model with two-bit
 

00:12:33.160 --> 00:12:35.230 align:start position:0%
parameter model with two-bit
quantization.<00:12:34.120><c> Once</c><00:12:34.280><c> again,</c><00:12:34.760><c> thank</c><00:12:34.960><c> you</c><00:12:35.080><c> so</c>

00:12:35.230 --> 00:12:35.240 align:start position:0%
quantization. Once again, thank you so
 

00:12:35.240 --> 00:12:36.630 align:start position:0%
quantization. Once again, thank you so
much<00:12:35.360><c> for</c><00:12:35.480><c> watching</c><00:12:35.680><c> this</c><00:12:35.800><c> video.</c><00:12:36.400><c> Catch</c><00:12:36.600><c> you</c>

00:12:36.630 --> 00:12:36.640 align:start position:0%
much for watching this video. Catch you
 

00:12:36.640 --> 00:12:39.160 align:start position:0%
much for watching this video. Catch you
in<00:12:36.680><c> the</c><00:12:36.760><c> next</c><00:12:36.960><c> one.</c>

