网站改版 方案,传统营销和网络营销的区别,为网站添加统计,小微企业注册流程及费用这是一个使用小型语言模型创建3D模型的实验项目。 在CloudRift和Prime Intellect提供的GPU算力额度以及Huggingface慷慨的免费资源支持下#xff0c;我开始构建一个用于生成3D文件的语言模型——CADMonkey。 1、模型架构与3D编程语言 在Starmind#xff0c;我们需要模型足够…这是一个使用小型语言模型创建3D模型的实验项目。在CloudRift和Prime Intellect提供的GPU算力额度以及Huggingface慷慨的免费资源支持下我开始构建一个用于生成3D文件的语言模型——CADMonkey。1、模型架构与3D编程语言在Starmind我们需要模型足够小巧能够在树莓派4和5上运行。基础语言模型选择的是Gemma3-1B原因如下易于微调也就是说不需要花费10多个小时调试代码没有对话模板便于开发和使用训练工具Unsloth、部署和量化llama.cpp已经成熟我们也曾简单考虑过扩散模型但开发复杂度太高。也许改天我们会重新审视这个想法。该模型将生成OPENSCAD代码用于渲染3D模型。为什么选择OpenSCAD作为一名机械工程师我发现传统的体素和网格3D模型几乎没有价值。工程需要不断的修改和迭代而基于形状和基于代码的模型正好适合这一点。2、数据集生成你的模型好坏取决于你的数据集。但好的定义取决于具体任务。以下是我们创建数据集的尝试#1Huggingface上有从Thingiverse抓取的开源OpenSCAD数据集约7,000行数据redcathode/thingiverse-openscad。然而我们有几个问题代码结构过于多样化代码质量不高。这导致训练后的模型生成不连贯的代码Python和C的混合。数据集中的物体不是常见物体而是某个特定东西的特定齿轮类型。这无法教会模型代码的语义含义。#2合成数据生成是我们选择的方法。首先我们按类别动物、厨房用具、宝可梦等创建常见物体名称列表。然后让大型语言模型Kimi生成代码渲染代码并使用VLMQwen2.5-VL根据相似度评判输出结果。结果就是这个数据集https://kdataset.web.app这是互联网上第一个大规模合成生成并审核的OpenSCAD数据集ThomasTheMaker/Synthetic-Object-v335,000行已验证数据。如果没有CloudRift提供的资助这一切都不可能实现。非常感谢在数据集上微调模型后我们发现模型80%的时间能生成可运行的OpenSCAD代码但是代码与物体不匹配。事实上只有1/400的模型与物体匹配。下面是唯一生成的好物体——鸭子#3水平扩展数据集我们尝试用更多物体来扩大数据集规模但物体不匹配的问题依然存在。#4垂直扩展数据集只有在我们垂直扩展数据集时模型性能才真正提升使用相同数量的物体增加每个物体的示例数量增加用于生成数据集的模型多样性你可以看到下面的改进3、我们犯过的错误有很多我们尝试过但不起作用的东西希望这能帮助你避免浪费时间和精力首先我们尝试使用AWS Bedrock上的Claude Sonnet和Haiku模型生成数据。根据token数量估算成本为40-60美元。但由于推理token的存在实际花费了170美元而输出仅略高于Kimi-K2非思考模式和Deepseek-V2等开源模型。其次我们尝试通过图书馆和字典生成物体名称列表。这是个糟糕的想法因为列表相当随机包含基础模型甚至都不了解的物体。4、训练准备好数据集后我们使用以下提示微调Gemma3 1B模型‘嘿cadmonkey给我做一个{物体名称}’这是使用Unsloth 4位微调完成的。输出模型被转换为GGUF模型使用q8量化。所有内容都在这里https://hf.co/collections/ThomasTheMaker/cadmonkey5、让它面向世界我使用Modal来托管模型。由于模型很小即使在CPU、树莓派等上也能很好地运行。为了速度优化我在Modal上使用T4 GPU输出速度非常快。虽然GPU利用率只有8%。平均每次提示运行成本为2美分。在这里试用应用https://cadmonkey.web.app6、总结我知道这听起来很老套但你真的可以做出东西5年前要达到这个目标需要5位数的投资和20名科学家的团队。现在我利用来自各种来源的500美元额度在3个周末内完成了整个实验。到目前为止我对语言模型的知识只是一年的自学。你真的可以做到。你只需要足够疯狂去开始。原文链接微调Gemma3文本生成CAD - 汇智网