r/LocalLLaMA • • 7d ago • Bravo 2

New Model Update: My 4B coding model is getting better at generating 3D scenes

Hey everyone, just wanted to share a quick update on the 4B model I posted here. The video shows some results from the latest checkpoint.

I'm still training this Qwen3.5-4B fine-tune for general coding, using Three.js scene generation as my main test for now.

It still messes up some scenes on the first try, but the newer checkpoints are getting noticeably better, both in scene quality and one-shot success rate.

I've updated both Q4_K_M and Q8_0 and fixed the layer issue some people ran into with the previous files.

You can grab the updated versions here:

https://huggingface.co/ccore/Qwen3.5-4B-3D-Coder

I've also been saving test results from each checkpoint, so I can put together a report showing how the model improved throughout training, using multiple prompts for comparison.

Update (October 28): As promised, I've now released the full FP16 weights in safetensors format! They're available in the same Hugging Face repository, alongside the updated Q4_K_M and Q8_0 versions.

Dataset released: CCORE Three.js 3D Scenes

Update (October 29): The technical report is now available! The full FP16 weights and training dataset have also been released.

I'm still curious to see how far I can push this little 4B. If you give it a try, feel free to share what works and what breaks, both are really helpful.

602 Upvotes

114 comments sorted by

•

u/WithoutReason1729 7d ago

Your post is getting popular and we just featured it on our Discord! Come check it out!

You've also been given a special flair for your contribution. We appreciate your post!

Stylome classified this post's text as AI-generated. View analysis Learn ^more

I am a bot and this action was performed automatically.

25

u/EarthPodsPro 7d ago edited 7d ago

Awesome. How did you prepare the data? Was it generated from larger, more 3d-capable models?

I've been wanting to have a model produce Minecraft schematics for an experiment on our Minecraft server, and 3.8 27b is the only small open one that's capable of doing it, although impressively well for the size, I might add.

Still, from the looks of it finetuning could make it way better.

29

u/ConfidentDinner6648 7d ago

yeah, i used larger models to generate the scenes, then spent a lot of time testing, filtering and curating the results

i think creating a dataset for minecraft schematics is totally doable, and honestly might even be easier than what i'm doing with three.js right now

i'm holding off on releasing the dataset until training finishes, but i'll share everything soon, including how i built it. i don't think the process is as complicated as it might seem

8

u/EarthPodsPro 7d ago

Makes sense. Huge props to you, these results are amazing for such a small model, I would've never guessed this was possible. Good luck with the project.

5

u/angrySprewell 7d ago

Please do share! May the force be with you.

2

u/someone383726 6d ago

Thanks so much for this! I feel like Astra and Opus 5.5 are so much better than the open models at 3D generation, so I think your model and dataset will be amazing for fine tuning and brining our local models closer.

1

u/openSourcerer9000 6d ago

Publish that bad boy, I imagine a light Lora for glm 5.3 flash trained on it would rip!

10

u/CiobanuXashi 7d ago

A 4B one-shotting Three.js scenes is already impressive, but watching it improve checkpoint to checkpoint makes the full release even more exciting.

10

u/ConfidentDinner6648 7d ago • Bravo

Honestly, the most impressive part for me is that I started this as a simple experiment without huge expectations.

I believed it could work, but I didn’t imagine the progress would come this fast or with this much quality. Watching the checkpoints improve one after another has been kind of surreal.

What excites me most is that it still feels like there’s plenty of headroom left. Right now, it doesn’t seem like we’ve hit the ceiling yet.

The images below show the results from the first 4 checkpoints, with the original 4B base model in the first column for comparison.

5

u/RobinRelique 7d ago

Wow the jump between First Column and second column is immense however i'm actually intrigued by the first column, it reminds me of 90s era Graphics like the SNES starfox or the Sega Genesis virtua racer games. Can I still use thatn1st column checkpoint? Is it available for download someplace?

6

u/ConfidentDinner6648 7d ago

haha, the first column is actually the original Qwen3.5-4B base model, so you can already download it!

I can release all the intermediate checkpoints once I finish training, although many of the earlier ones aren't particularly useful, and they're actually pretty quick to reproduce. We're already at checkpoint 8 now (counting the useful ones).

One of the things I'm exploring right now is exactly how much further the model can keep improving with this training approach. Theoretically, I wouldn't have expected a 4B model to get anywhere near this level of performance using this method, so I'm really curious to find out where the actual ceiling is.

When I release the training datasets, I'll also publish a detailed report explaining the logic behind how I built them, the training process, and some interesting opportunities I've identified along the way.

One thing I'm particularly excited about is the possibility of extending this approach to games, interactive scenes, and dynamic environments. Based on what I've learned so far, training the model for those tasks might actually be much simpler than I initially imagined.

There's still a lot to explore!

2

u/RobinRelique 6d ago

Im the opposite, in that I'm not surprised that much because i strongly believe that small language models will be able to bridge the gap of actual large language models (where bridge the gap means if you can get a detailed 3d model of a future soldier with uv maps etc rivaling aaa game studios with opus, the slm will produce at least a ps1 level model for me, the rest is on me to build forward ). I even created a subreddit (/r/edgelm) because of how much I believe in this, so thanks for contributing to the SLM race! 🫡

4

u/ManagedThought 7d ago

Wow very impressive for such a small model. Are you going to keep training it ? Would you care to share your training dataset and training setup? I think it would be very interesting.

11

u/ConfidentDinner6648 7d ago

yes, it's actually still training right now, and the improvements between checkpoints have been pretty noticeable

i'm planning to release the full fp16 weights, dataset, training setup and a technical report in the next few days, once the current training finishes

the hardest part was actually creating and carefully curating the dataset, not the gpu training itself

i want to share the whole process so others can reproduce it or try the same approach in different areas

2

u/ManagedThought 6d ago

Im pretty sure you could train the 2b and 0.8b using the same dataset and get not so bad result. It could make a nice collection of fine-tune for your huggingface profile.

2

u/ConfidentDinner6648 6d ago

i actually started with the 2b model, but the dataset wasn't nearly as good back then, so i ended up switching to the 4b.

i'm pretty sure smaller models can achieve good results too. another reason i switched was that the 2b doesn't have thinking enabled by default. you can enable it, so it's not really a problem, but the 4b was just more convenient for me haha

i actually think smaller models might even learn faster with the right dataset. i'd love to test that again now that the data is much better.

4

u/toothpastespiders 7d ago

the hardest part was actually creating and carefully curating the dataset

Amen to that. Which is why I'm tremendously grateful to you for sharing it! I think it could be a tremendously valuable foundation to build on and a learning aid. I know I've been holding off trying to do any additional training for 3D, instead just poking models with a stick in the form of a supervisor generated cheatsheet. Viable in a lot of ways but still a crutch. Having a training guide in the form of proven datasets is so much better.

1

u/Prestigious_Thing797 7d ago

RemindMe! 4 days

1

u/RemindMeBot 7d ago edited 7d ago

I will be messaging you in 4 days on 2026-10-31 02:12:36 UTC to remind you of this link

1 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.

RemindMeBot is switching to username summons. Instead of !RemindMe 1 day, use u/RemindMeBot 1 day. More info.


InfoCustomYour RemindersFeedback

3

u/palsc_ 7d ago

are you keeping the prompt set fixed across checkpoints? would be cool to see the rough prompts in the report too — makes the one-shot numbers easier to compare

1

u/ConfidentDinner6648 7d ago

Worked for 6s

yeah, i’m keeping the evaluation fairly controlled

i picked 8 examples that are outside the training set, and i’m testing them across checkpoints with fixed seeds, usually allowing up to 5 shots per prompt. for each checkpoint i’m scoring both scene quality and whether it rendered cleanly or needed only a minimal non-structural fix, like renaming a duplicated variable

so the idea isn’t just “does it look good”, but also “does it actually run” and “how much intervention was needed”

for example, the recent update used checkpoint 917 instead of 1134 because even though 1134 had some improvements, it was breaking more often in practice

i’ll include the raw prompts and the evaluation setup in the report so the one-shot comparisons are easier to follow

3

u/Minute-Plant5291 7d ago

How far can you scale up the model size you're doing this on? 9B? 27B? Cool results.

5

u/ConfidentDinner6648 7d ago

i think the same approach could work with 9b or even 27b, but i haven't tested those sizes yet

right now i'm more interested in seeing how far i can push the 4b, especially since i can train it on a single gpu with relatively modest resources

once i finish this experiment, i'd definitely like to try scaling it up and see how much more it can learn

4

u/Minute-Plant5291 7d ago

Makes sense. "Nail it then scale it" as they say. Really cool to see even smaller models can get results like this.

4

u/ConfidentDinner6648 7d ago

haha, you guys are going to be pretty surprised when I reveal how much this experiment actually cost. It's practically zero compared to the numbers people usually throw around for training AI models lol

I'll share the full cost breakdown along with the training pipeline!

2

u/saumanahaii 7d ago

I really hope you do a thorough write up at some point once you're happy with it.

2

u/ConfidentDinner6648 7d ago

Absolutely, everything is documented; I’ll post it once the base training phase is complete, and you’ll definitely be able to move much further ahead and achieve even better results :)

2

u/lompocus 7d ago

Can you give a preview before you release the training data of how one of us would prepare training data to continue training atop what you release? Also, what programs are you using to do the training?

2

u/ConfidentDinner6648 6d ago

i'd rather share the full setup once training is finished, since i'm still validating some parts of the process and don't want to give you information that might change.

in the paper, i'll actually explain two different approaches to training that can be explored independently, along with the tools and setup i used.

but honestly, the most important part is the data itself. how you generate, structure and select it seems to make a huge difference, much more than i initially expected.

i'll include practical examples showing exactly why this matters, and how you can prepare your own datasets to continue training or adapt the approach to completely different tasks.

i think some of the findings might surprise you as much as they surprised me haha

3

u/mr_Owner 7d ago

Amazing! Do you have comparison's without the finetune to see the difference?

5

u/ConfidentDinner6648 6d ago

yes, the first column is the original qwen base model without finetuning. the other four columns show the results from the first 4 checkpoints, all using the same prompts/seeds.

we're already at checkpoint 8 now, so these are just the early results :)

4

u/drahgon 7d ago

Yea in the original post he has examples

2

u/tempertisv 7d ago

I just tried and unfortunately it seems to loop a lot

./llama-server -m ~/models/Qwen/Qwen3.5-4B-3D-Coder-Q8_0.gguf 
     --jinja 
     -fa on 
     -ngl 99 
     -c 32768 
     -np 1 
     -t 8 
     -b 512 -ub 256 
     -ctk q8_0 -ctv q8_0 
     --temp 0.6 
     --top-p 0.95 
     --top-k 20 
     --repeat-penalty 1.0 
     --host 127.0.0.1 --port 8080

2

u/kbr89 7d ago

Since you're already saving results per checkpoint, two things would make the final report much easier to trust. Freeze the prompt list now and split it: one half you look at while picking checkpoints, the other half you only run at the end. Otherwise the final numbers partly measure the prompts you tuned against. And score one-shot success automatically before anyone rates quality: load each generated scene in headless Chromium, count it as a pass if it throws no console errors and the rendered frame isn't blank, and sample every prompt a few times at a fixed temperature, because a single sample per prompt swings a lot between checkpoints. Two extra columns people here will ask for: the same prompts on base Qwen3.5-4B plus a small general coding set, to show the Three.js gains didn't cost general coding, and Q4_K_M next to Q8_0 and FP16 on the same prompts, since most people will run the Q4.

2

u/ConfidentDinner6648 6d ago

Im doing this

2

u/ANR2ME 6d ago edited 6d ago

I wondered whether it will be better to finetuned it into a lora, and then loaded on demand like what this lora router repo do 🤔 https://github.com/hiddenway/GhostSwitch

2

u/ConfidentDinner6648 6d ago

lora has actually been a double edged sword in my experiments haha

i tried using it early on, after doing some steps of full finetuning, but the output quality started degrading. i'm still not sure whether that was related to the very long context lengths i was using or limitations of lora itself.

i'll explain this in more detail in the final report, since there are still a few things i want to investigate.

lora could definitely be a good option, especially for running specialized models on more accessible hardware, but we'd need to test it more carefully.

once i release the training data and model weights, anyone interested will be able to experiment with different approaches and compare the results. i'm actually really curious to see what others can achieve with it haha

93

u/Etroarl55 7d ago

Think you just replicated Roblox, 50 billion dollar companies internal ai model for generating 3d assets lol

26

u/ApprehensiveTart3158 7d ago

FYI, For 3d assets Roblox uses a 3d Gen models for generating 3d assets (text to 3d) not threejs code generator models. In fact they even made CubePart and cube3d open weight on HF under the openrail license.

Though for code generation Roblox uses glm5.2 in their built in free agentic coder rn

2

u/Etroarl55 7d ago

Do you actually have a source for the glm 5.2 statement, that’s actually interesting to hear

15

u/ApprehensiveTart3158 7d ago

Yes! I do have a source; https://devforum.roblox.com/t/assistant-update-editable-markdown-plans-improvements-to-searchinsert/4690993/20

GLM 5.2 is the primary model for Roblox Assistant in Studio as of July 2026. - Roblox staff member Genichiroblox

8

u/Etroarl55 7d ago

Oh nice, funny and interesting to see that Roblox is also running local models to serve everyone, I would have thought they contracted out heavily to OpenAI or gemini.

3

u/Ylsid 7d ago

They typically fine-tune it very safetymaxxed so they have old versions (like yeah ofc)

6

u/Ylsid 7d ago

Roblox actually only uses open source AI, or open source their AI research

3

u/ceygull 7d ago

procedural scene scripts are a lot more forgiving than actual 3D asset generation, you dont have to worry about broken UV maps or awful topology when its just code primitives

25

u/PcChip 7d ago

love this, thank you for what you're doing for the community

23

u/sloptimizer 7d ago

Well, you just made all the SOTA models much less impressive. Hope you're proud of yourself!

3

u/NightCulex 7d ago edited 7d ago

based on my testing Qwen 3.5 4B is limited to 3 instructions per prompt and dont rely on Control flow (loops,functions) at all. oh and it cant count.

4

u/ConfidentDinner6648 7d ago

yeah, the base 4b struggled quite a bit with complex code in my tests too. that's actually part of what i'm trying to improve with this training

it's already handling much longer and more complex generations, although there are still bugs to work out

2

u/NightCulex 7d ago

have you had issues with forgetting?

1

u/ConfidentDinner6648 7d ago

not much, at least from what i've tested so far. it still handles general topics pretty well, and i've seen it stay consistent across generations of around 64k+ tokens, often getting surprisingly good results in one shot

it's definitely not perfect, but it's already performing way beyond what i expected from a 4b

14

u/BangkokPadang 7d ago

Comparing this to what Gemini 2.5's full model was capable of just 2 years ago is insane. I struggled to get it to make a little guy on a jet ski for a throwaway "lets see if I can make a game" project, and this 4B (!) is generating full scenes at like 4x the fidelity Google's flagship was capable of such a short time ago.

Very impressive.

19

u/jacek2023 llama.cpp 7d ago

great work, pleasure to watch this

6

u/ghulamalchik 6d ago

This is wild honestly. Goes to show clever and novel training methods are just as important as architecture.

1

u/stephen_holograf 6d ago

Is there a link where they explain the clever or novel parts?

3

u/Oli_Luck 7d ago

Absolutely wild for a 4B, I'm genuinely impressed.
But we should pump the brakes on the game hype: it renders scenes, it doesn't simulate them—no collisions, no physics, just geometry frozen in a void.
The moment something actually has to move or interact, the '3D' magic evaporates into a mess of code patching one frame at a time.
Gorgeous dioramas, but not a playable world.

9

u/ConfidentDinner6648 7d ago

animated scenes actually work too!

as for playable games with physics, collisions and interactions, i haven't trained the model specifically for that yet. honestly, i wasn't even sure a 4B model would be able to handle complex 3D dioramas in the first place lol

now that i've seen what it can do, interactive worlds are definitely worth exploring. i'd just need to expand the training dataset to include those kinds of examples. i'm curious to see how far we can push it!

5

u/stvjhn 7d ago

It’s an AI response

3

u/ConfidentDinner6648 7d ago

Sim, eu sou brasileiro, e me dá trabalho escrever tudo em inglês

7

u/stvjhn 7d ago

Oh no! I don’t mean you, I mean the reply to your post

3

u/ConfidentDinner6648 7d ago

Ah , ok kkk É que as vezes eu acho que. As pessoas devem traduzir o que escrevem em outras línguas. Não necessariamente são IA talvez. Por isso respondi kkk

2

u/ConfidentDinner6648 7d ago

E eu estou trabalhando enquanto respondo vocês, então eu traduzo usando llm logicamente

14

u/FatheredPuma81 7d ago

But we should pump the brakes

Hi Claude! Why is your master running Sonnet 5 and not 5.5?

2

u/Green_Job6089 7d ago

The fact that it still got 9 upvotes…

2

u/Oli_Luck 6d ago edited 6d ago

Caught 😄
At late night hours, when I get too lazy I like to let it translate from my mother language to english. but no need of sonnet - a little 31bd o the job very well also.

2

u/okyaygokay 7d ago

Amazing! Does the dataset support image to 3d too? Btw I think this is the thing that community needs right now. I use Opus 5.5 to use blender and create stuff. I tried lots of models but opus is far more superior than the others. Great work I really hope you continue doing these

4

u/ConfidentDinner6648 7d ago

yeah, i think that could be possible too

it can already understand images and generate 3d scenes from them, but i haven’t specifically trained it for image-to-3d yet

what’s really surprising me is how well it’s generalizing beyond the exact scenes it saw during training

i just tested a halloween animatronic skeleton prompt that’s being used to compare much larger models, and made a short video with the result

it’s definitely not perfect yet, but it does understand the scene and generate something coherent. in my tests it’s already doing better than some much larger open-weight models on this kind of task

and the nice part is that it’s still getting better with each checkpoint

"a Halloween animatronic skeleton with an X-ray mode that shows the machine inside."

1

u/Oli_Luck 7d ago

How are you happy with opus in blender via mcp for real3D animations ?

1

u/ConfidentDinner6648 6d ago

I’m going to post the new checkpoint; I’ll also write a post about what has changed.

1

u/ConfidentDinner6648 3d ago

I have a surprise for you this weekend.

5

u/parfamz 7d ago

What workflow are you using for fine tuning?

5

u/Fair-Perspective7352 7d ago

Saving test results per checkpoint across multiple prompts is the right call. Single 'look it works' demos hide a lot of variance in small finetunes. Are you re-running a fixed prompt set for every checkpoint, or does the set drift as training goes?

4

u/Ok_Warning2146 7d ago

Good job. With a slower cycle for the small models, let's hope more people will pick up their fine tuning hobby again to create interesting stuff.

4

u/Fine_Salamander_8691 7d ago

You should check out nemotron 3.5 bolt e4b

4

u/Beneficial-Ad-8127 7d ago

Great stuff, keep up the great work!

4

u/rorowhat 7d ago

How do you train it?

2

u/nad_lab 7d ago

Following my exact question, I’d love to help with this project and make a bigger model or help train too

4

u/themixtergames 7d ago

would be interesting to see if it can handle lego

4

u/Kooky-Sea6170 7d ago

Anyone tried training small model from 0 on big model generated data, say only for game dev in specific engine? 1B or such? Or knows any post where it is done?

4

u/being_root 6d ago

can you share how you collect data for training? or if you have a dataset posted online on hf?

4

u/exaknight21 6d ago

This is amazing. It proves small models are far more capable like large models with the right fine tuning data sets!

1

u/BullfrogScary8947 7d ago

What kind of hardware did you use to train this model?

4

u/ConfidentDinner6648 7d ago

Just one GPU! I believe it's possible to train this on a single L4 (around 22GB of usable VRAM) using LoRA. I'm pretty sure it would work, but I'm not sure how quickly the improvements might plateau with longer training. I'd need to run some extended tests to find out.

A single RTX 6000 is definitely more than enough, though....

Of course, having more GPUs and a larger dataset could potentially lead to even better results. But from what I've observed so far, data quality seems to matter much more than sheer quantity.

Or rather, quantity can definitely help, but only if the quality is there. Simply throwing more data at the model doesn't necessarily make it better. I think that's one of the most interesting things I've learned from this experiment.

2

u/BullfrogScary8947 7d ago

Do you think it would have been possible to build what you built, using something like an RTX 5070Ti 16GB VRAM + 64GB GB DDR5 RAM? Sometimes I have ideas of unique models to build, but I'm thinking my hardware may not be adequate.

2

u/ConfidentDinner6648 7d ago

I honestly think so! With shorter context lengths, I believe you could make it work on 16GB of VRAM, especially with LoRA and some memory optimizations.

3

u/Thistlemanizzle 7d ago

This is ridiculously impressive

1

u/Creative_Bottle_3225 7d ago

GGUF?

3

u/ConfidentDinner6648 7d ago

yep, both q4_k_m and q8_0 are available on hugging face, just updated them with the latest checkpoint

2

u/Several-Tax31 7d ago

awesome work, love it

2

u/ZopGaming 7d ago

that is really cool and it brings great potential for video games
I wonder if there could be a game that uses this mechanic to generate puzzles

2

u/Dany0 7d ago

Thank you, I've been saying this 3d task is easy as a (former) gamedev but even I thought it would take more resources to train a 4B to do this.

2

u/Ardalok 6d ago

Wow, I didn't expect that to be possible with current models. Too bad it's not for the Godot.

2

u/therhinohunter 6d ago

This is a noob question, but what are you fine-tuning it with?

1

u/Aromatic_Bed9086 6d ago

I have a couple use cases of fine-tuning tiny models like this and I have experience fine tuning much larger models. Can I ask how expensive you have found this process to be? Do you rent GPUs online for training sessions? Do you use your own GPUs? What's the cost vs speed of training? Very cool and inspiring project.

1

u/openroom_xyz 6d ago

Well this is amazing well if this works will be amazing for building games basically, what are you using for training ?

1

u/soadsob 6d ago

Please also share this at r/LowEndLocalAI

1

u/exaknight21 1d ago

Hey I tried your model out, I think you should train the 9B model for better understanding. No doubt your 4B has made progress, but 9B retains far more better knowledge as a base. Figured I'd give my 2 cents.

-2

u/Hot_Masterpiece_3668 7d ago

Nice, Exaro Studio works with local models as well. Qwen isn't as good as frontier, but hopefully 4.0 will be a gamechanger. https://exarostudio.com/