← 返回 2026-02-26

VecGlypher:基于语言模型的统一矢量字形生成 VecGlypher: Unified Vector Glyph Generation with Language Models

Xiaoke Huang, Bhavul Gauri, Kam Woh Ng, Tony Ng, Mengmeng Xu, Zhiheng Liu, Weiming Ren, Zhaochong An, Zijian Zhou, Haonan Qiu, Yuyin Zhou, Sen He, Ziheng Wang, Tao Xiang, Xiao Han 📅 2026-02-25 👍 12 2026-07-13 08:35
SVG 多模态LLM 字体设计 矢量字形生成 自回归生成

单个多模态LLM直接从文本或图像生成可编辑矢量字形

前置知识

矢量字形(Vector Glyph)

矢量字形是用参数化曲线(如贝塞尔曲线)定义的字符轮廓,是数字排版的基本单元。与光栅图像不同,矢量字形具有分辨率无关性,可以无限缩放而不失真。在字体文件中,每个字符(如字母 A 或数字 3)都由一系列绘图命令(MoveTo、LineTo、Quadratic Bézier、ClosePath)和坐标点定义,形成封闭的可编辑轮廓。SVG(Scalable Vector Graphics)路径是一种常见的矢量字形表示方式,其中每个路径由 d 属性中的命令序列描述。

本文的核心任务就是生成矢量字形的 SVG 路径,理解矢量字形的结构(命令、坐标、封闭性)是理解模型输出格式和评估指标的前提。

SVG 路径命令

SVG 路径由一组绘图命令组成:M(MoveTo)将光标移动到指定坐标而不绘制;L(LineTo)从当前位置画直线到目标点;Q(Quadratic Bézier)绘制二次贝塞尔曲线,需要一个控制点和一个终点;Z(ClosePath)闭合路径回到起点。大写命令使用绝对坐标,小写命令使用相对坐标。在本文中,所有坐标量化到一位小数,不使用填充、描边等其他属性,每个字形序列化为单个 SVG path 元素。

VecGlypher 的输出空间就是这些 SVG 命令的 token 序列,理解这些命令的含义才能理解模型的输入输出格式、序列长度问题以及几何约束。

自回归语言模型(Autoregressive LM)

自回归语言模型通过逐个预测下一个 token 来生成序列。给定已有序列 y_{<t},模型预测下一个 token 的条件概率 p(y_t | y_{<t}, x),其中 x 是输入条件。在训练时使用交叉熵损失优化 token 级别的预测;在推理时通过贪心解码或采样逐步生成完整序列。GPT、LLaMA、Gemma 等现代大语言模型都采用这种范式,本文将字形生成建模为 SVG token 的自回归预测问题。

VecGlypher 的核心思路是将字形生成转化为语言建模问题,用自回归 LLM 直接输出 SVG token 序列,理解这一范式是理解本文方法论的关键。

监督微调(Supervised Fine-Tuning, SFT)

SFT 是在预训练大模型基础上,用特定任务的标注数据进行有监督训练的过程。通常使用输入-目标输出配对数据,通过标准的 teacher forcing(即训练时给模型看正确的前缀,让它预测下一个 token)来优化模型。SFT 可以让通用 LLM 适应特定领域(如代码生成、SVG 绘图),其效果高度依赖数据质量和规模。本文采用两阶段 SFT:先在大规模噪声数据上学习基础技能,再在高质量数据上精调对齐。

本文的两阶段训练配方(Stage 1: Envato 噪声数据 SFT,Stage 2: Google Fonts 高质量数据 SFT)是核心技术创新之一,理解 SFT 机制才能理解为什么分阶段训练优于混合训练。

Chamfer Distance(CD)

Chamfer Distance 是衡量两个点集之间几何相似度的指标。对于两个点集 P 和 Q,对称 Chamfer 距离定义为 CD(P,Q) = (1/|P|) * sum_{p in P} min_{q in Q} ||p-q||_2 + (1/|Q|) * sum_{q in Q} min_{p in P} ||q-p||_2。在本文中,将生成字形和真实字形分别归一化到 [-1,1] 区间,均匀采样 200 个点后计算对称 Chamfer 距离,再乘以 100 作为最终指标(越低越好)。

CD 是本文最核心的几何评估指标之一,衡量生成轮廓与真实轮廓之间的几何精度,直接反映模型的绘图质量。

研究动机

当前基于学习的矢量字形生成流程存在一个根本性的瓶颈:它们几乎都依赖精心准备的示例光栅图像作为输入。具体来说,现有的图像参考(image-referenced)管线——如 DeepVecFont-v2 和 DualVector——需要用户先为每种新字体收集或制作一组代表性字符的光栅图像,模型才能根据这些示例合成剩余字符的矢量轮廓。这一假设在实际使用中是一个巨大的障碍,尤其对于非专业用户和快速设计迭代场景:设计师更希望通过自然语言描述(如「高对比度、窄体、Art Deco 风格、俏皮感」)来表达排版意图,而不是先画一个完整的示例字形表。此外,现有方法通常使用独立的图像编码器和矢量解码器的双编码器-解码器架构,或级联图像扩散和矢量扩散的级联管线,这些架构引入了中间光栅化步骤,导致矢量化伪影和编辑性丧失。通用大语言模型(如 GPT-5、Claude Sonnet 4.5)虽然能生成简单的 SVG 图标,但在字形生成上表现极差:它们无法关闭轮廓路径、生成错误的字符、或产生退化的几何结构,因为排版字形对几何精度、拓扑一致性和风格连贯性有远高于普通 SVG 绘图的要求。

本文的目标是本文的目标是构建一个统一的多模态语言模型 VecGlypher,能够直接从文本描述或参考图像生成高质量的可编辑矢量字形 SVG 路径,无需光栅中间步骤和后处理优化器。具体而言,VecGlypher 需要同时支持两种输入模态——文本参考(text-referenced,用户提供风格标签如 Humanist Sans-Serif, Futuristic, Superellipse)和图像参考(image-referenced,用户提供 1-8 张同字体的参考字符图像)——并在单次自回归解码中输出完整的 SVG path 字符串,实现闭合、可编辑、风格一致的字形轮廓生成。论文在跨字体族的分布外(OOD)评估中验证了模型的泛化能力,目标是在可识别性(R-ACC)、几何精度(CD)和分布保真度(FID)等指标上显著超越现有专用方法和通用 LLM。

与已有工作不同的是,本文的独特切入角度在于三个关键洞察的结合。第一,它认识到 SVG 路径本质上是文本——绘图命令和坐标本身就是字符串 token——因此字形生成可以自然地建模为语言建模问题,而非传统的图像到图像或图像到矢量的转换问题。第二,它识别出数据工程是核心瓶颈:现有的 SVG 图标数据集和通用 LLM 训练语料中缺少大量高质量的字形程序,导致模型「会画图标但不会写字母」。因此,本文的核心贡献不仅是模型架构,更是排版感知的数据管线——从 82K 原始字体中经过字符覆盖、长度剪枝、去重和多模态 LLM 审核,筛选出 39K Envato 噪声字体和 2.5K Google Fonts 专家标注字体。第三,它发现两阶段训练配方(先在大规模噪声数据上学习 SVG 语法和长序列几何,再在小规模高质量数据上对齐语言-几何映射)比单阶段混合训练效果更好,揭示了「先学会画、再学会听话」的课程学习策略对字形生成任务的关键作用。

核心方法

VecGlypher 的核心思路可以用一个类比来理解:想象教一个学生写字母。第一阶段是大量临摹——给他看几千种不同风格的字母(即使是不完美的、风格描述有噪声的),让他掌握笔画的基本规律和字母的几何结构(SVG 语法、坐标预测、长序列解码)。第二阶段是精细指导——用高质量的示范和精确的风格描述来教他如何根据语言指令或参考图像画出特定风格的字母。技术上,VecGlypher 是一个基于 Gemma3 或 LLaMA3.3 的多模态解码器,输入是风格描述 token 序列(或图像编码器提取的参考字形特征)加上目标字符标识(如 Content: V),输出是 SVG 路径的 token 序列。模型通过标准的自回归交叉熵损失训练,逐个预测 SVG 命令和坐标 token。推理时使用贪心解码生成完整路径,反序列化为有效的 SVG path 字符串,可直接用于排版渲染或编辑。与之前的双编码器-解码器系统或级联扩散方法不同,VecGlypher 将风格理解和轮廓绘制统一在单个 LLM 中,消除了中间光栅化的失配问题。

VecGlypher 最本质的创新在于将字形生成彻底重新定义为语言建模问题,而不是传统的视觉生成问题。这一视角转换带来了三个根本性的区别。首先,与 DeepVecFont-v2 等方法使用独立的图像编码器和矢量解码器不同,VecGlypher 用同一个 LLM 同时处理文本理解和矢量绘制——LLM 既「理解」风格描述的语义,又「学会」输出精确的 SVG 坐标。这意味着风格理解和轮廓生成不再是两个独立的模块,而是在同一个注意力机制中共享信息的统一过程。其次,与 DualVector 等级联图像扩散+矢量解码的方法不同,VecGlypher 完全跳过了光栅中间表示,直接从文本或图像特征生成矢量 token,从而消除了光栅化-矢量化转换中的伪影和信息损失。第三,也是最关键的,本文发现通用 LLM 之所以在字形生成上失败,不是因为模型能力不足,而是因为训练数据中缺少字形程序——如果用足够大规模的字形-文本配对数据训练,LLM 可以学会绘制高质量的矢量字形。因此,本文的核心贡献不仅是一个模型,更是一套完整的排版感知数据管线和两阶段训练配方。

方法步骤详情

VecGlypher 的完整流程包含数据处理、两阶段训练和推理三个阶段。数据处理阶段:首先从 Envato(82K 字体)和 Google Fonts(3.4K 字体)收集原始字体文件,经过四重过滤——(1) 字符覆盖检查(移除缺少字母数字的符号字体),(2) 长度剪枝(用 pangram 渲染后移除超过 0.9 分位数的异常字体),(3) 去重(移除 pangram 渲染相同的字体),(4) 多模态 LLM 审核(用 Qwen3-VL-30A3B 检测大小写异常或渲染失败的字体)。过滤后得到 39,497 个 Envato 字体和 2,497 个 Google Fonts 字体。然后对每个字形进行标准化:归一化到 UPM=1000、基线对齐、只保留 d 属性、坐标量化到一位小数。按字体族划分训练集和测试集,确保同一字体族的风格不会同时出现在训练和测试中。训练阶段采用两阶段 SFT:Stage 1 在 Envato 数据上进行仅文本参考的 SFT,使用随机采样的字形-标签对训练模型掌握 SVG 语法和长序列几何;Stage 2 在 Google Fonts 数据上进行文本+图像参考的混合 SFT,使用 192x192 的参考字符图像(1-8 张)和专家标注的风格标签,训练模型对齐语言/图像到几何的映射。训练使用 AdamW 优化器,学习率 1e-5,余弦调度+1% 预热,Envato 训练 1 epoch,Google Fonts 训练 3 epochs。推理阶段:给定风格描述或参考图像,加上目标字符,模型自回归生成 SVG token 序列,反序列化为完整的 path 字符串,可直接用于渲染或编辑。

技术新颖性

VecGlypher 的技术新颖性体现在三个层面。在建模范式层面,它是第一个将矢量字形生成统一建模为语言建模问题的框架——之前的专用方法(DeepVecFont-v2、DualVector、SVGDiffusion)都使用图像到矢量的转换范式,需要独立的编码器-解码器架构或级联扩散管线。VecGlypher 直接用 LLM 的 next-token prediction 目标生成 SVG,无需专用的矢量 tokenization(实验证明复杂的 SVG tokenizer 反而没有增益)。在数据工程层面,本文构建了迄今最大规模的字形-文本配对训练语料(39K+2.5K 字体,约 250 万字形),并设计了排版感知的四重过滤管线和标准化流程——之前的专用方法通常只使用约 1-8K 字体的数据。在训练策略层面,两阶段配方(大规模噪声延续训练到高质量指令对齐)的设计体现了对字形生成任务特性的深刻理解:Stage 1 解决的是「学会画」(SVG 语法、长序列几何、闭合性),Stage 2 解决的是「学会听话」(语言-几何映射、风格迁移)。消融实验证明这种分阶段策略显著优于单阶段混合训练,且绝对坐标序列化在模型容量足够大时优于相对坐标。

范式比较:图像参考管线 vs 扩散方法 vs VecGlypher
Figure 2: 范式比较:图像参考管线 vs 扩散方法 vs VecGlypher
VecGlypher 流水线和训练配方
Figure 3: VecGlypher 流水线和训练配方

实验结果

VecGlypher 在跨字体族的分布外评估中展示了全面且显著的性能提升。在文本参考任务上(Table 8),VecGlypher-27B(基于 Gemma3-27B,绝对坐标)达到 R-ACC 100.5、CD 1.72、DINO 94.22、FID 3.46;VecGlypher-70B(基于 LLaMA3.3-70B)进一步将 CD 降至 1.68、FID 降至 3.34。相比之下,最强的商业 LLM 基线 Claude Sonnet 4.5 只有 R-ACC 46.65、CD 5.28、FID 19.59——VecGlypher-70B 的 R-ACC 是其 2.15 倍,CD 低 68%,FID 低 83%。预算级模型(GPT-5 Mini、Gemini-2.5 Flash)几乎无法生成有效的 SVG 路径,R-ACC 仅 4-5。在图像参考任务上(Table 9),VecGlypher-27B(T,I,绝对坐标)达到 R-ACC 99.12、CD 1.18、FID 2.32,相比 DeepVecFont-v2(R-ACC 37.86、CD 14.58、FID 115.5)和 DualVector(R-ACC 49.20、CD 16.45、FID 105.5),R-ACC 提升约 2 倍,CD 降低约 92%,FID 降低约 98%。消融实验(Table 6-7)揭示了三个关键发现:(1) 模型规模是首要因素——从 4B 到 27B,R-ACC 从 73.96/66.66 提升到 92.81/94.91,CD 从 4.29/3.75 降至 2.31/1.98;(2) 两阶段训练配方持续优于单阶段混合训练——E→G 两阶段在文本参考上达到 R-ACC 101.0、CD 1.67,而 E+G 混合训练只有 R-ACC 95.59、CD 2.14;(3) 绝对坐标在模型容量足够大时(27B)略优于相对坐标,R-ACC 94.91 vs 92.81,CD 1.98 vs 2.31。Table 14 的开源 LLM 结果更加极端:Llama3.3 70B、Gemma3 27B、Qwen3 30B 的 R-ACC 均接近 0,CD 高达 17-63,进一步证明通用 LLM 的 SVG 能力无法直接迁移到字形生成。

本文使用的 SVG 绘图命令
Table 1: 本文使用的 SVG 绘图命令
数据集统计:词云、标签数量和 token 长度分布
Table 5: 数据集统计:词云、标签数量和 token 长度分布
文本参考消融:数据源和模型规模
Table 6: 文本参考消融:数据源和模型规模
图像参考消融:数据源和模型规模
Table 7: 图像参考消融:数据源和模型规模
文本参考任务与通用 LLM 的比较
Table 8: 文本参考任务与通用 LLM 的比较
图像参考任务与矢量字体基线的比较
Table 9: 图像参考任务与矢量字体基线的比较
开源 LLM 和矢量图形 LLM 的性能
Table 14: 开源 LLM 和矢量图形 LLM 的性能
图像参考消融实验的定性比较
Figure 5: 图像参考消融实验的定性比较
文本参考任务与通用 LLM 的定性比较
Figure 6: 文本参考任务与通用 LLM 的定性比较
图像参考任务与矢量字体基线的定性比较
Figure 7: 图像参考任务与矢量字体基线的定性比较
查看结构化数据
任务指标本文基线提升
文本参考字形生成 R-ACC ↑ 100.5 (27B,A) 46.65 (Claude Sonnet 4.5) +115% (约 2.15×)
文本参考字形生成 CD ↓ 1.72 (27B,A) 5.28 (Claude Sonnet 4.5) -67.4%
文本参考字形生成 FID ↓ 3.46 (27B,A) 19.59 (Claude Sonnet 4.5) -82.3%
文本参考字形生成 DINO ↑ 94.22 (27B,A) 88.31 (Claude Sonnet 4.5) +6.7%
图像参考字形生成 R-ACC ↑ 99.12 (27B,T,I,A) 49.20 (DualVector) +101.5% (约 2×)
图像参考字形生成 CD ↓ 1.18 (27B,T,I,A) 16.45 (DualVector) -92.8%
图像参考字形生成 FID ↓ 2.32 (27B,T,I,A) 105.5 (DualVector) -97.8%
图像参考字形生成 DINO ↑ 95.82 (27B,T,I,A) 79.57 (DualVector) +20.4%

局限与改进

作者在讨论部分坦承了几个重要局限。首先是字符覆盖范围有限:当前只支持 0-9、a-z、A-Z 共 62 个拉丁字母数字字符,不支持变音符号、表意文字或连笔书写。这限制了模型在多语言排版和复杂文字系统中的应用。其次是模型规模要求较高:实验表明约 30B 参数才能达到稳定的字形质量,4B 模型在几何精度上明显不足,这对部署成本和推理效率构成挑战。第三是评估指标的局限性:当前的 OCR 准确率和 Chamfer 距离虽然能反映可识别性和几何精度,但无法全面衡量字形的美学质量、笔画一致性或风格连贯性,特别是对微妙的排版属性(如字间距、衬线细节、笔画对比度)的评估不够精细。此外,本文的贪心解码策略虽然能评估原始生成能力,但在实际应用中可能需要更复杂的解码策略(如受约束解码)来保证 SVG 语法的有效性。从独立观察来看,模型对极端风格(如非常花哨的装饰字体或高度抽象的手写体)的处理能力可能有限,且训练数据中 Envato 的噪声标签可能引入不必要的偏差。

独立分析的弱点

VecGlypher 存在几个值得关注的弱点。第一,单字符生成模式的限制:模型一次只生成一个字形,无法建模字符间的字距调整(kerning)和连字关系(ligatures),而完整的字体设计需要考虑字符间的协调。改进方向可以是将序列长度扩展到多字符甚至完整单词的生成。第二,光栅化用于展示但评估也依赖光栅化指标(LPIPS、SSIM 等),这引入了光栅化分辨率和渲染参数对评估结果的潜在影响。可以在评估中增加更多基于矢量几何的指标(如曲线控制点的偏差、路径面积比等)。第三,风格描述依赖标签而非自由文本:虽然论文声称支持自然语言描述,但实际上训练数据都是标签袋(bag of tags),模型学到的是标签到几何的映射而非真正的自然语言理解。如果想支持「我想要一个看起来像 1920 年代纽约地铁标志的字体」这样的自由描述,需要收集更多自由文本-字形配对数据。第四,绝对坐标在 27B 时才优于相对坐标,说明相对坐标的归纳偏置在小模型中仍有价值,可以探索混合坐标方案或坐标编码的改进。第五,缺乏对抗性评估和用户研究:当前的定量指标无法反映专业设计师对生成字形的质量判断,增加人类评估(如字体设计专家的 A/B 测试)会更有说服力。

未来方向

基于 VecGlypher 的成果,有几个值得探索的研究方向。首先是扩展字符覆盖:从拉丁字母数字扩展到变音符号、西里尔字母、希腊字母甚至 CJK 字符,需要设计组合式编码方案和轨迹感知的笔画程序来处理更复杂的字形结构。其次是多字符生成:将模型扩展为同时生成完整单词或句子的字形序列,建模字符间距和连字关系,这对实际字体排版应用更有价值。第三是交互式设计工具:利用模型支持文本和图像两种输入模态的能力,构建一个「先用文字描述生成初稿,再用图像引导微调」的交互式字体设计工作流,论文中已经提到了这种实践路径。第四是改进解码策略:引入受约束解码(确保 SVG 语法有效性)和复合奖励信号(结合几何精度、拓扑正确性和风格一致性)来指导 best-of-N 采样或 RL 微调。第五是探索更高效的模型架构:当前 30B 参数的要求限制了部署场景,可以研究轻量级的几何适配器或专用的矢量 tokenization 方案来降低参数需求。

复现评估

从复现角度来看,VecGlypher 的可复现性有一定挑战。模型方面,论文基于 Gemma3(4B/27B)和 LLaMA3.3(70B)进行微调,这些开源权重可以获取,但 70B 模型的训练需要 32 张 A100 GPU 和大批量设置,27B 也需要 8 张 A100,对普通实验室算力要求较高。数据方面,Google Fonts 是公开可用的,但 Envato 字体集合需要商业许可,且论文使用的 82K 原始集合和过滤后的 39K 子集的具体字体列表未开源,这会影响精确复现。训练细节方面,论文提供了学习率(1e-5)、权重衰减(0.01)、调度策略(余弦+1%预热)等关键超参数,但具体的 prompt 模板、图像渲染参数和数据采样策略等细节在附录中有描述。评估方面,使用 Qwen3-VL-30A3B 作为 OCR 引擎是可复现的,但 OCR 本身的随机性(R-ACC 可以超过 100)引入了评估噪声。总体而言,复现的门槛主要在于算力(至少 8 张 A100 训练 27B 模型)和数据获取(Envato 许可),而非技术细节的缺失。