4B Model Fine-Tuning in Practice: Three.js 3D Scene Generation Keeps Improving

Developer fine-tunes Qwen3.5-4B for Three.js 3D scene generation, with first-pass success rate steadily improving; full resources to be released October 28.
A developer shared on Reddit progress on a general coding model fine-tuned from Qwen3.5-4B, using Three.js scene generation as the core test task. The latest checkpoint shows clear improvement in scene quality and first-pass success rate, though it still botches some first attempts. The author fixed layer compatibility issues in earlier quantized versions and updated the Q4_K_M and Q8_0 quantized versions. Training is expected to complete on October 28, when FP16 weights, all quantized versions, the training dataset, a technical report, and a cross-checkpoint evolution comparison will be released. The project demonstrates the potential of small-parameter models to approach practical levels on specific coding tasks through continuous fine-tuning.
Small Models Can Also Handle 3D Scene Generation
Recently, a developer shared the latest progress on their 4B-parameter model fine-tuning project on Reddit. The project fine-tunes Qwen3.5-4B for general coding capability, using Three.js scene generation as the core test task. Judging from the generated videos from the latest checkpoint, the model has made visible progress in both scene quality and first-pass success rate—although it still botches some scenes on the first attempt, the overall trend is encouraging.

The most compelling aspect of this project is that it demonstrates how a small-parameter model, through continuous fine-tuning, can approach a practical level on a specific coding task. The author admits they are "still curious how far this little 4B can be pushed"—this spirit of exploration is exactly what makes the open-source community so valuable.
Technical Approach and Current Progress
Fine-Tuning Strategy and Test Benchmark
The author chose Qwen3.5-4B as the base model, targeting "general coding" capability for fine-tuning, while Three.js scene generation serves as a natural evaluation ground—it simultaneously tests code syntax correctness, spatial logic, and API call accuracy. This approach of "using a generation task to feed back into coding ability" is closer to real-world development scenarios than simply chasing HumanEval scores.
The model is still in training, and the latest checkpoint shows "significant improvement" in both scene quality and first-pass success rate. The author did not provide specific percentages but emphasized that "the updated checkpoint is indeed better," and has simultaneously updated both Q4_K_M and Q8_0 quantized versions.
Qwen3.5-4B is a small-sized base model in Alibaba's Tongyi Qianwen series, where 4B refers to approximately 4 billion parameters. Compared to larger models like 7B and 14B, the 4B model has lower VRAM and compute requirements, and after INT4 quantization it can run on consumer-grade GPUs with 8GB of VRAM, making it suitable for local deployment and rapid iteration. Choosing it as the fine-tuning starting point means the author prioritized accessibility and training cost over chasing the highest leaderboard scores.
Three.js is the mainstream WebGL wrapper library for browsers. Developers can create 3D scenes, cameras, lighting, and materials by calling its API through JavaScript. Generating Three.js code from natural language requires the model to simultaneously master API names, parameter order, and 3D spatial relationships, which is harder than pure text code generation, so it is often used as a test task for evaluating the structured reasoning ability of coding models.
Quantized File Fixes and Community Feedback
Notably, the author specifically fixed the layer issues that some users had previously encountered. This means earlier quantized versions may have had compatibility defects, and this update allows the model to run properly in more local environments. For developers who want to run it on their own machines, this is undoubtedly good news.
The author also encourages users who try it to report back "what works and what crashes"—this hunger for failure cases is exactly the nourishment that small-model iteration needs most.
Quantization is the process of converting model weights from high-precision formats like FP16 to lower-precision formats such as INT8 and INT4, which can significantly reduce VRAM usage and inference latency at the cost of a small amount of precision loss. The GGUF format, together with quantization schemes commonly used in the llama.cpp ecosystem such as Q4_K_M and Q8_0, represents 4-bit and 8-bit mixed quantization levels respectively—the higher the number, the higher the precision and the larger the size. The so-called "layer issues" typically refer to certain network layers experiencing numerical overflow or dequantization errors after quantization, causing garbled output or outright crashes, which need to be handled specifically in the conversion script.
Training Plan and Upcoming Release
According to the author's plan, training is expected to complete around October 28 at 07:30 UTC. After that, the full set of resources will be released all at once:
- Complete FP16 weights
- All quantized versions
- Training dataset
- Technical report
More importantly, the author has been saving test results for each checkpoint and plans to conduct horizontal comparisons across multiple prompt sets to produce a "full model training evolution report." This level of transparency is rare in personal fine-tuning projects and is highly valuable for developers who want to reproduce or learn from the work.
The Significance and Observations of Small Model Fine-Tuning
A 4B-level model can run on local consumer hardware, and if it can reach a usable level on structured code generation tasks like Three.js, it means independent developers and small teams can build 3D scene prototyping tools at extremely low cost. Of course, the model still "makes mistakes on first attempts," so there is still a gap to production-grade reliability, but the continued rise in first-pass success rate shows the direction is right.
From community feedback, what people care about most is the actual performance of the quantized versions and the composition of the training data. Once the full set of resources is released on October 28, these questions should have clearer answers. If you are interested in small coding models, you might as well download the current checkpoint and give it a try, and report the pitfalls you encounter back to the author—after all, the progress of small models often hides in these real-world use cases.
Related articles

Private Key Set to 4? CA's Elementary Mistake Leaves TLS Exposed
CA eMudra set private keys to tiny values like 4, making TLS certificates brute-forceable. A Computerphile video demonstrates the full process from extracting public keys to forging certificates, and explores the fragility of the PKI trust chain.

How Gen Turns Data into Decisions with ChatGPT Work
In an OpenAI user case, business leader Gen shares how ChatGPT Work turns data into decisions: within hours of launch, teams can judge whether integrations and onboarding flows work, shifting decision iteration from hundreds of trial-and-error attempts to a fast feedback loop.

ChatGPT vs. Claude In-Depth Comparison: Strong at Coding but Weak at Research — How to Bridge the Gap?
A user considers switching from ChatGPT to Claude, finding Claude stronger at coding but shallower at research. We analyze the differences and share tips to make Claude's research deeper.