Back

Gemma 3n preview: Mobile-first AI

334 points17 hoursdevelopers.googleblog.com
nolist_policy15 hours ago

You can try it on Android right now:

Download the Edge Gallery apk from github: https://github.com/google-ai-edge/gallery/releases/tag/1.0.0

Download one of the .task files from huggingface: https://huggingface.co/collections/google/gemma-3n-preview-6...

Import the .task file in Edge Gallery with the + bottom right.

You can take pictures right from the app. The model is indeed pretty fast.

nolist_policy14 hours ago

Okay from some first tries with story writing, gemma-3n-E4B-it seems to perform between plain Gemma 3 4B and 12B. It definitely retains the strong instruction following which is good.

Hint: You have to set the Max tokens to 32000 for longer conversations. The slider makes it look like it's limited to 1024, just enter it manually.

philipkglass12 hours ago

I assume that "pretty fast" depends on the phone. My old Pixel 4a ran Gemma-3n-E2B-it-int4 without problems. Still, it took over 10 minutes to finish answering "What can you see?" when given an image from my recent photos.

Final stats:

15.9 seconds to first token

16.4 tokens/second prefill speed

0.33 tokens/second decode speed

662 seconds to complete the answer

the_pwner22410 hours ago

I did the same thing on my Pixel Fold. Tried two different images with two different prompts: "What can you see?" and "Describe this image"

First image ('Describe', photo of my desk)

- 15.6 seconds to first token

- 2.6 tokens/second

- Total 180 seconds

Second image ('What can you see?', photo of a bowl of pasta)

- 10.3 seconds to first token

- 3.1 tokens/second

- Total 26 seconds

The Edge Gallery app defaults to CPU as the accelerator. Switched to GPU.

Pasta / what can you see:

- It actually takes a full 1-2 minutes to start printing tokens. But the stats say 4.2 seconds to first token...

- 5.8 tokens/second

- 12 seconds total

Desk / describe:

- The output is: while True: print("[toxicity=0]")

- Bugged? I stopped it after 80 seconds of output. 1st token after 4.1 seconds, then 5.7 tokens/second.

the_pwner22410 hours ago

Pixel 4a release date = August 2020

Pixel Fold was in the Pixel 8 generation but uses the Tensor G2 from the 7s. Pixel 7 release date = October 2022

That's a 26 month difference, yet a full order of magnitude difference in token generation rate on the CPU. Who said Moore's Law is dead? ;)

sujayk_334 hours ago

8 has G3 chip

nolist_policy5 hours ago

Gemma-3n-E4B-it on my 2022 Galaxy Z Fold 4.

CPU:

7.37 seconds to first token

35.55 tokens/second prefill speed

7.09 tokens/second decode speed

27.97 seconds to complete the answer

GPU:

1.96 seconds to first token

133.40 tokens/second prefill speed

7.95 tokens/second decode speed

14.80 seconds to complete the answer

KoolKat2312 hours ago

Thanks for this guide it's great.

Okay perhaps my phones not great and perhaps this isn't optimized/pruned for phone use but it's unusably slow. The answers are solid from my brief test.

I wouldn't exactly say phone use, unless you have no internet and you don't mind a bit of a wait.

Really impressive, regardless.

px4312 hours ago

What phone are you using?

KoolKat235 hours ago

I see my phones processor is from 2018 so there's that, Moore's law to save the day, from reading other comments.

rao-v5 hours ago

Why are we still launching models without simple working python example code (or llama.cpp support)?

andrepd3 hours ago

Suggest giving it no networking permissions (if indeed this is about on-device AI).

lousken14 hours ago

waiting for approval, is there a magnet?

hadlock12 hours ago

if you go into the app and click the first icon it directs you to a workflow to get approved after clicking on a button that is the same color as the background and jump through some hoops about providing user data and analytics etc then it will auto-approve you

ignoramous12 hours ago

And the libraries to embed Gemma-series in your iOS/Android app: https://ai.google.dev/edge/litert

Or, run them on a microcontroller! https://github.com/tensorflow/tflite-micro

resource_waste10 hours ago

It reminds me of GPT3 quality answers. Kind of impressive.

Although my entire usecase of local models is amoral questions, which it blocks. Excited for the abliterated version.

onlyrealcuzzo16 hours ago

Probably a better link: https://developers.googleblog.com/en/introducing-gemma-3n/

Gemma 3n is a model utilizing Per-Layer Embeddings to achieve an on-device memory footprint of a 2-4B parameter model.

At the same time, it performs nearly as well as Claude 3.7 Sonnet in Chatbot Arena.

Deathmax16 hours ago

It's not a 4B parameter model. The E4B variant is 7B parameters with 4B loaded into memory when using per-layer embedding cached to fast storage, and without vision or audio support.

zamadatix15 hours ago

The link says E2B and E4B have 4B and 8B raw parameters, where do you see 7B?

jdiff13 hours ago

There's a 7B mentioned in the chat arena ELO graph, I don't see any other references to it though.

osanseviero6 hours ago

Hi! The model is 8B if you also load the vision and audio components. We just used the text model in LMArena.

ai-christianson16 hours ago

That seems way too good to be true.

What's the catch?

Vuizur16 hours ago

It is not very good at hard tasks, its ranking is much worse there.

int_19h6 hours ago

The catch is that "does as good as X" is pretty much never representative of real world performance when it comes to LLMs.

In general, all those scores are mostly useful to filter out the models that are blatantly and obviously bad. But to determine whether the model is actually good at any specific thing that you need, you'll have to evaluate them yourself to find out.

refulgentis16 hours ago

I used to defend LMSys/Chatbot Arena a lot but threw in the towel after events of the past three months.

I can give more details if you (or anyone else!) is interested.

TL;DR: it is scoring only for "How authoritative did the answer look? How much flattering & emojis?"

Jowsey15 hours ago

Is this not what Style Control (which IIRC they're making default soon) aims to mitigate?

refulgentis15 hours ago

I'm not 100% sure what their rationale is for it, the launch version of style control was a statistical model that penalized a few (4?) markdown shibboleths (lists, headers, ?).

Not sure if they've shared more since.

IMVHO it won't help, at all, even if they trained a perfect model that could accurately penalize it*

The main problem is its one off responses, A/B tested. There's no way to connect it into all the stuff we're using to do work these days (i.e. tools / MCP servers), so at this point its sort of skipping the hard problems we'd want to see graded.

(this situation is a example: whats more likely, style control is a small idea for an intractable problem, or Google has now released multiple free models better than Sonnet, including the latest, only 4B params?

To my frustration, I have to go and bench these things myself because I have an AI-agnostic app I build, but I can confirm it is not the case that Gemma 3-not-n is better than Sonnet. 12B can half-consistently make file edits, which is a major step forward for local tbh)

* I'm not sure how, "correctness" is a confounding metric here: we're probably much more likely to describe a formatted answer in negative terms if the answer is incorrect.

In this case I am also setting aside how that could be done, just saying it as an illustration of no matter what, it's the wrong platform for a "how intelligent is this model?" signal, at this point, post-Eliza post-Turing, couple years out from ChatGPT 1.0

esafak16 hours ago

Imagine a model smarter than most humans that fits on your phone.

edit: I seem to be the only one excited by the possibilities of such small yet powerful models. This is an iPhone moment: a computer that fits in your pocket, except this time it's smart.

rhdjsjebshjffn15 hours ago

I can't speak for anyone else, but these models only seem about as smart as google search, with enormous variability. I can't say I've ever had an interaction with a chatbot that's anything redolent of interaction with intelligence.

Now would I take AI as a trivia partner? Absolutely. But that's not really the same as what I look for in "smart" humans.

selcuka4 hours ago

> But that's not really the same as what I look for in "smart" humans.

Note that "smarter than smart humans" and "smarter than most humans" are not the same. The latter is a pretty low bar.

hmapple13 hours ago

Have you tried any SOTA models like o3?

If not, I strongly encourage you to discuss your area of expertise with it and rate based on that

It is incredibly competent

int_19h6 hours ago

SOTA models can be pretty smart, but this particular model is a very far cry from anything SOTA.

rhdjsjebshjffn7 hours ago

I'm not really sure what to look for, frankly. It makes a rather uninteresting conversation partner and its observations of the world bland and mealy-mouthed.

But potentially maybe I'm just not looking for a trivia partner in my software.

+1
koakuma-chan13 hours ago
sureglymop13 hours ago

The image description capabilities are pretty insane, crazy to think it's all happening on my phone. I can only imagine how interesting this is accessibility wise, e.g. for vision impaired people. I believe there are many more possible applications for these on a smartphone than just chatting with them.

codr716 hours ago

intelligence != memory

esafak16 hours ago

ML is not memorization. Besides, how much memory do you think this model has?

+1
codr715 hours ago
+1
rhdjsjebshjffn15 hours ago
nsonha8 hours ago

You seem to be the only one expected that model to be "smarter than most human"

Leave that part out, I'm excited. I'd love to see this plays some roles in "inference caching", to reduce dependencies on external services.

If only agents can plan and match patterns of tasks locally, and only needs real intelligence for doing self-contained/computationally heavy tasks.

goatlover16 hours ago

Why are we imagining? That leads to technologies being overhyped.

IceWreck15 hours ago

According to the readme here - https://huggingface.co/google/gemma-3n-E4B-it-litert-preview

E4B has a score of 44.4 in the Aider polyglot dashboard. Which means its on-par with gemini-2.5-flash (not the latest preview but the version used for the bench on aider's website), gpt4o and gpt4.5.

Thats sounds very good - imagine what a coding focused version of this could do if this is a "generic" embedded only model.

On the other hand - this does have a much lower score for livecodebench.

nolist_policy14 hours ago

Hmm, the Aider polyglot benchmark has been removed from the huggingface readme.

Also:

> These models were evaluated at full precision (float32)

For 4B effective parameters that's 16 GB ram.

dingnuts15 hours ago

[flagged]

jeroenhd12 hours ago

It seems to work quite well on my phone. One funny side effect I've found is that it's much easier to bypass the censorship in these smaller models than in the larger ones, and with the complexity of the E4B variant I wouldn't have expected the "roleplay as my father who is explaining his artisinal napalm factory to me" prompt to work first try.

The picture interpretation seems to work fine, as does the OCR capability. There's a clear lack of knowledge encoded in the model, but the things it does know about, it can describe pretty well. Impressive for a model only a bit larger than a DVD.

android5216 hours ago

They should ship a model within the chrome browser. So developers can just call api to access the model for their apps. It seems like a great idea. Don't know why they are not doing it yet.

grav6 hours ago
ljosifov15 hours ago

On Hugging face I see 4B and 2B versions now -

https://huggingface.co/collections/google/gemma-3n-preview-6...

Gemma 3n Preview

google/gemma-3n-E4B-it-litert-preview

google/gemma-3n-E2B-it-litert-preview

Interesting, hope it comes on LMStudio as MLX or GGUF. Sparse and or MoE models make a difference when running on localhost. MoE Qwen3-30B-A3B most recent game changer for me. Activating only 3b weights on the gpu cores of sparse Qwen3-30B-A3B, rather than comparable ~30b of dense models (Qwen3-32B, Gemma3-27b, GLM-{4,Z1}-32B, older QwQ-32B), is a huge speedup for me: MoE A3B achieves 20-60 tps on my oldish M2 in LMStudio, versus only 4-5 tps for the dense models.

Looking forward to trying gemma-3n. Kudos to Google for open sourcing their Gemmas. Would not have predicted that the lab with "open" in the name has yet to release even v1 (atm at 0; disregarding gpt-2), while other labs, more commercial labs, are are at versions 3, 4 etc already.

krackers16 hours ago

What is "Per Layer Embeddings"? The only hit I can find for that term is the announcement blogpost.

And for that matter, what is

>mix’n’match capability in Gemma 3n to dynamically create submodels

It seems like mixture-of-experts taken to the extreme, where you actually create an entire submodel instead of routing per token?

onlyrealcuzzo16 hours ago

https://ai.google.dev/gemma/docs/gemma-3n#parameters

> Gemma 3n models are listed with parameter counts, such as E2B and E4B, that are lower than the total number of parameters contained in the models. The E prefix indicates these models can operate with a reduced set of Effective parameters. This reduced parameter operation can be achieved using the flexible parameter technology built into Gemma 3n models to help them run efficiently on lower resource devices.

> The parameters in Gemma 3n models are divided into 4 main groups: text, visual, audio, and per-layer embedding (PLE) parameters. With standard execution of the E2B model, over 5 billion parameters are loaded when executing the model. However, using parameter skipping and PLE caching techniques, this model can be operated with an effective memory load of just under 2 billion (1.91B) parameters, as illustrated in Figure 1.

krackers16 hours ago

Thank you, that helped a bit, although it's still not clear what exactly those parameters _are_. "Per-Layer Embedding (PLE) parameters that are used during model execution to create data that enhances the performance of each model layer." is too vague, and I can't find any other reference to "per-layer embedding parameters" in literature.

kcorbitt14 hours ago

I wonder if they've trained the model to operate with a shallower stack; eg. the full model may be composed of 24 transformer blocks, but they've also trained it to accept embeddings at layer 8, so it can be operated with just 16 transformer blocks on lower-resourced devices.

Experimenters in the open source tinkering community have done the opposite (copy/pasting layers in existing models to make them deeper) and it seems to work... fine, with minimal post-training on the new, deeper model required to exceed the performance of the original model. So it's not a crazy idea.

krackers5 hours ago

Someone extracted out the dims in https://twitter.com/cccntu/status/1925043973170856393#m

It seems to be embedding from 262k possible vocab tokens down to 256 dims. 262144 matches the same vocab size used for the existing Gemma model, so it really does seem to be an embedding of the input token directly, fed into each layer.

I guess intuitively it might help the model somewhat for later layers to have direct access to the input query without needing to encode it in the residual stream, and it can use those parameters for something else. I'm kind of surprised no one tried this before, if the idea is that simple? Reminds me of resnet where you have the "skip" layers so future layers can access the input directly.

Edit: As for what exactly the embedding is used for, it could be that the embedding is still used for something more clever than induction head-type stuff. Responses in [1] suggest it might be some low-rank data/token dependent signal that can be "factored out"/precomputed. Another clever suggestion was that it's a per-layer input-token-derived control/steering vector.

[1] https://twitter.com/CFGeek/status/1925022266360005096

liuliu15 hours ago

Thanks. It is a bit vague to me too. If you need to load 5B per token generation any way, what's that different from selective offloading technique where some MLP weights offloaded to fast storage and loaded during each token generation?

onlyrealcuzzo16 hours ago

A layer is a transformer block / layer (basically the building block of the modern LLM architectures) - maybe Gemini can help you:

https://gemini.google.com/share/cc58a7c6089e

krackers15 hours ago

I am perfectly aware of that. I don't believe other LLMs have such embeddings per layer, only the usual weights, so these per-layer embeddings seem to be distinguished from weights in some way. Afaik trying to play the same "cache in fast storage and load on demand" wouldn't work with layer weights since you'd end up with too much back/forth (you'd touch every cached byte on each token, assuming no MoE), so I'm guessing these embeddings are structured in a way that's broken up by concept.

ankit21915 hours ago

You can read this for a comprehensive deep dive. https://arxiv.org/pdf/2502.01637

At a very high level, instead of having embeddings at the input layers, this method keeps the embeddings at the layer level. That is every transformer layer would have its own set of learnable embedding vectors that are used to modify the processed hidden states flowing through the network. Mostly, the embeddings are precomputed and stored separately. They are queried at inference time and has very low latency, so you can get comparable performance with half the RAM. (i am not exactly sure how 3n is doing it, but talking it in a general sense).

yorwba15 hours ago

The paper you link to is about a different way to create embeddings at the input layer. In no way does it match your claimed description.

ankit21914 hours ago

I simplified what i wrote. There is an off accelerator memory where the embeddings are stored and queried at inference time, i did not want to get into details. That is how you reduce the in memory RAM. There are definitely more things going on in the paper as it builds upon the concept I described. The central idea remains the same: you have input embedding layers which map text to continuous vectors. Instead of loading all these layers at runtime, you can break it per layer at training time, and then fetch the required ones from a separate store during inference. Would not be in RAM. Per layer is not mentioned in the paper. But surely it's not a great leap from the paper itself?

+1
yorwba5 hours ago
stygiansonic16 hours ago

From the article it appears to be something they invented:

> Gemma 3n leverages a Google DeepMind innovation called Per-Layer Embeddings (PLE) that delivers a significant reduction in RAM usage.

Like you I’m also interested in the architectural details. We can speculate but we’ll probably need to wait for some sort of paper to get the details.

andy12_15 hours ago

I think that it's a poorly named reference to this paper [1] that they mention in the blogpost. If I had to give it another more descriptive name, I would probably name it "Per-Layer Embedding Dimensionality"

[1] https://arxiv.org/pdf/2310.07707

yorwba15 hours ago

The MatFormer is clearly called out as a different aspect of the model design.

PLE is much more likely to be a reference to the Per-Layer Embeddings paper that will be published in the future once it doesn't give away any secret sauce anymore.

andy12_14 hours ago

I thought the same, but Per-Layer Embeddings as a name doesn't make sense in any context, and MatFormer does exactly what the blogpost says PLE does. I just think it's more probable that the blogpost was written by several authors and that noone bothered to check the final result.

HarHarVeryFunny15 hours ago

Per layer LoRA adapters, perhaps? - same as Apple is using for on-device AI.

lxgr16 hours ago

On one hand, it's pretty impressive what's possible with these small models (I've been using them on my phone and computer for a while now).

On the other hand, I'm really not looking forward to app sizes ballooning even more – there's no reasonable way to share them across apps at least on iOS, and I can absolutely imagine random corporate apps to start including LLMs, just because it's possible.

onlyrealcuzzo16 hours ago

That sounds like a problem iOS will eventually deal with, as many apps are going to want this technology, and since Apple distributes apps - they aren't interested in the average app being 10x larger when they could solve the problem easily.

Though, I won't be surprised if they try to force devs to use their models for "privacy" (and not monopolistic reasons, of course).

lxgr16 hours ago

Given Apple's track record in dealing with the problem of ballooning app sizes, I'm not holding my breath. The incentives are just not aligned – Apple earns $$$ on each GB of extra storage users have to buy.

elpakal13 hours ago

I don't know how true your comment is about them earning money on each GB, but if you're interested in app size analysis on iOS I made this for that reason https://dotipa.app.

I occasionally post decompositions of public .ipa's on the App Store, and I'm looking forward to seeing how these change over the next year.

+1
lxgr11 hours ago
numpad012 hours ago

They earn from in-app purchases too!

bilbo0s14 hours ago

I was thinking that the entire time I read HN User onlyrealcuzzo's comment.

Why, on Earth, would Apple ever want to solve the problem of Apps taking up more space? That's just not good business. Way better business right now to put R&D into increased memory access speeds.

Apple would need to have a different business model entirely for them to have a business case for fixing this. They may fix it because they just want to help out they AI guys? Maybe in the future they're getting money from the AI guys or something? So fixing it starts to make a lot of sense.

But all other things being equal, the money for Apple is in this not being fixed.

happyopossum9 hours ago

> Why, on Earth, would Apple ever want to solve the problem of Apps taking up more space?

To make their devices more pleasant / less frustrating to use.

They’ve got a long track record of introducing features that reduce app size, speed up installs, and reduce storage use from infrequently used apps - there’s no reason to believe they’d stop doing that except for cynical vitriol.

drusepth3 hours ago

Windows is adding an OS-level LLM (Copilot), Chrome is adding a browser-level LLM (Gemini), it seems like Android is gearing up to add an OS-level LLM (Gemmax), and there are rumors the next game consoles might also have an OS-level LLM. It feels inevitable that we'll eventually get some local endpoints that let applications take advantage of on-device generations without bundling their own LLM -- hopefully.

diggan2 hours ago

> It feels inevitable that we'll eventually get some local endpoints that let applications take advantage of on-device generations without bundling their own LLM -- hopefully.

Given the most "modern" and "hip" way of shipping desktop applications seems to be for everyone and their mother to include a browser runtime together with their 1MB UI, don't get your hopes up.

sujayk_334 hours ago

https://youtu.be/eJFJRyXEHZ0

in the video they've added in announcement, they are showing some live interaction with the model(which is quite fast as compared to AI Edge gallery app), how's it built, how can I use it like this?

mltsd12 hours ago

I wonder how powerful the models our phones can run will be when (if?) they figure out how to make them 'specialized', i.e. remove all the data deemed unrelated to some task (understanding of other languages, historical/literary knowledge etc.), even if hardware doesn't improve much it seems there's still a lot to optimize

vineyardmike6 hours ago

I generally assume this is how existing model developers have been improving. Gemini especially is crazy fast, and thanks to google search integration, Gemini-the-model doesn’t need to “know” any trivia.

lend00012 hours ago

Not a bad idea for next generation models, especially since the state of the art already uses Mixture of Experts.

barnas215 hours ago

Is anyone able to test it via AiStudio? I pay for Google's AI subscription, but any attempt to use this model results in a message telling me I've hit my rate limit.

sureglymop13 hours ago

Tested it on my Android phone with Google Edge Gallery. No sign up required although a hugging face login is required to download the models in order to import them into the app.

lxgr15 hours ago

Same here.

I've also seemingly hit a rate limit on Gemini Pro 2.5 (on an account not subscribed to Gemini Advanced) yesterday, even though my last query is weeks past.

Possibly there's a capacity shortage (I'd presume it all runs on the same Google hardware in the end), and they are prioritizing paid inference?

abound7 hours ago

I hit this yesterday even though my account is on Tier 2 or 3. In my case, the issue was that I was using an old model name (exp-03-25 or something) in requests. Update to the latest pro-preview-whatever and the rate limit issues should go away.

This sounds unintuitive, but in Google's defense the rate limit errors include a link to docs that explain this.

DonHopkins15 hours ago

If you're paying enough per month you can upgrade your keys to a higher tier:

https://aistudio.google.com/app/apikey

impure14 hours ago

Interesting that they reduced the memory usage by half. This would address what is IMO the biggest problem with local LLMs: the limited number of parameters resulting in answers that are not very good.

Also it's funny that they are saying that Llama 4 Maverick performs about the same as GPT-4.1 Nano.

angst9 hours ago

tried out google/gemma-3n-E4B-it-litert-preview on galaxy s25 ultra

loads pretty fast. starts to reply near-instant (text chat mode).

doesn't answer questions like "when is your cutoff date"

apparently answers "may 15 2024" as today date so probably explains why it answered joe biden as answer to who is US president

gavmor4 hours ago

I always get a little confused when people fact-check bare foundation models. I don't consider them as fact-bearing, but only fact-preserving when grounded in context.

Am I missing something?

jakemanger7 hours ago

Wow can run with 2-3GB of memory. That is far smaller than I expected. Are there any demos of it in use that can be ran locally?

einpoklum2 hours ago

I liked it better as the yellow-ball assistant to Dejiko-hime.

TOMDM12 hours ago

Having played with MCP a bit now, seeing this makes me think there's huge potential in Android MCP servers bolted into Androids permission system.

Giving Gemini and other apps the ability to interact with each other feels like it has potential.

adityakusupati15 hours ago

MatFormer enables pareto-optimal elasticity during inference time -- so free models between E2B and E4B as and when we need it!

quaintdev14 hours ago

> Gemma 3n enables you to start building on this foundation that will come to major platforms such as Android and Chrome.

Seems like we will not be able to run this with Llama and friends.

https://developers.googleblog.com/en/introducing-gemma-3n/

viraptor14 hours ago

What makes you say that? The files can be downloaded, so it will be done. (Maybe the licence will be an issue)

bionhoward11 hours ago

Anybody know a good way to try this model on iPhone?

cwoolfe10 hours ago

To use the model on the web to get an idea of its capabilities: https://aistudio.google.com/app/prompts/new_chat?model=gemma... As a software developer, to integrate it into your app? They mention using Google GenAI SDK or MediaPipe: https://firebase.google.com/docs/ai-logic https://ai.google.dev/edge/mediapipe/framework/getting_start... Via downloading an app on the App Store? Sorry, I think you'll just have to wait! ;-)

cmcconomy16 hours ago

I'd love to see this deployable to edge that have a Google Coral TPU

nharada16 hours ago

Has Google continued releasing new versions of Coral? Seems like a new version with the latest TPU and enough memory specifically to support this model would be awesome for devs

mattlondon15 hours ago

I looked into this recently. Looks like it's a "no".

However there are now alternatives like the official RPi AI Hat that has between about 3x to 6x the TOPs (4 for Coral Vs 13/26 for RPi depending on model) so there is that. 20 TOPs on a RPi 5 - complete with nice vertically integrated camera etc - is quite interesting.

intelkishan6 hours ago

Google has not released a new version since 2021. Even the SDK kit is not under active development(uses Python 3.8), since the last time I saw it.

turnsout16 hours ago

Is this model & architecture compatible with llama.cpp and friends?

sandowsh11 hours ago

The model can be used locally, no need for network. Pretty accurate, and fast enough on xiaomi14.

fefawfefafds12 hours ago

[dead]

fdaffeafe11 hours ago

[dead]

fasdfdsa12 hours ago

[flagged]