makepad/libs/ai/NOTICE
Admin c83ce3617d ai: hub stems and word timing, GPU yield, quantised image models, fleet discovery
Stems take any audio file and can answer Ogg stems; speech-to-text answers
word-timed transcription and batched forced alignment. A generation the
full model cannot fit next to the UI runs on the family's q4 variant; a
chat during a GPU yield is answered; a GPU failure fails the job instead of
a silent CPU fallback. Block-quantised image transformer on the GPU and a
24 GB-card image model entry. The fleet beacon goes to every interface's
broadcast and a hub on the gateway is found where no beacon reaches; the
LAN listener can be stopped. Tokenizer and G2P lexicon tables download with
their models instead of living in git.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-14 07:24:22 +02:00

187 lines
9.4 KiB
Text

Third-party notices for the Makepad AI inference stack (`libs/ai`).
This file is the MIT attribution surface for vendored and ported sources.
Makepad's own code in this tree remains under the repository MIT license
(see `/LICENSE`). Publishing this repository is distribution of these
portions; the copyright notices and permission notices below must be
retained.
========================================================================
ggml / llama.cpp
========================================================================
License: MIT
Copyright (c) 2023-2026 The ggml authors
Upstream: https://github.com/ggml-org/llama.cpp
Upstream LICENSE: MIT License, "Copyright (c) 2023-2026 The ggml authors"
Substantial portions of the following are derived from ggml / llama.cpp
(quantized GEMM, flash-attention, K-quant layouts, Metal kernels, GGUF
container details, and related device code). Some files are close
transcriptions of a pinned llama.cpp revision; others are reimplementations
that still retain ggml block layouts, kernel structure, or constants.
libs/ai/cuda/kernels/llm/fattn/ CUDA flash-attn, MMQ, MMVQ, vec-dot
libs/ai/cuda/kernels/llm/kernels.cu K-quant decode / MMVQ launch path
libs/ai/cuda/kernels/kquants.cu K-quant / Q4_0 / related dequant
libs/ai/metal/shaders/ggml/ vendored ggml-metal snapshot
libs/ai/loader/src/formats/gguf.rs GGUF reader (moved from llama)
libs/ai/loader/src/quant.rs GGUF dtype / block metadata
libs/ai/loader/src/quant_encode.rs Q8_0 and K-quant scale searches
The Rust Q4_K/Q5_K weighted affine search, Q6_K signed scale search, and
Q8_0 rounding in quant_encode.rs are ported from ggml/src/ggml-quants.c,
read 2026-10-12 from the upstream repository above. Their block layouts
remain compatible with the existing dequantizers. The copyright and full
MIT permission notice in this section apply to these ports as well.
Pinned Metal snapshot (see that directory's LICENSE):
commit 364c77f4ca2737e3287652e0e8a8c6dce3231bba
CUDA kernel comments name the llama.cpp revision they were ported from
(for example b10430 / commit 4c1a0af40d88c7fbb3b15c85bf2e8016d1d5b64c).
That pin is documentation of provenance, not a claim that every later
edit is still byte-identical to that commit.
The MIT permission notice for ggml / llama.cpp:
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
========================================================================
Apple MLX (steel quantized GEMM)
========================================================================
License: MIT
Copyright © 2023-2025 Apple Inc.
Upstream: https://github.com/ml-explore/mlx
Vendored snapshot: v0.31.2
Location: libs/ai/metal/shaders/mlx_qmm/
Full license text: libs/ai/metal/shaders/mlx_qmm/LICENSE
Only the steel GEMM + quantized.h pieces needed for one instantiation
are vendored. Do not treat that directory as a full MLX Metal port.
========================================================================
Tokenizer tables bundled with Flux text encoders
========================================================================
libs/ai/models/flux/assets/clip_merges_utf8.txt
CLIP BPE merges table. CLIP (OpenAI) is MIT-licensed.
Copyright (c) 2021 OpenAI.
t5_tokenizer.json (downloaded with the FLUX.1 models from
https://makepad.nl/models/flux/t5_tokenizer.json, see
libs/ai/models/flux/src/t5.rs; not kept in this repository)
T5 SentencePiece / HuggingFace tokenizer dump.
T5 (Google) is Apache License 2.0.
https://github.com/google-research/text-to-text-transfer-transformer
These files are data tables required to run the corresponding checkpoints.
They are not model weights.
========================================================================
Kokoro speech: Mandarin front end and its data
========================================================================
libs/ai/models/speech/src/g2p/zh/ Mandarin text-to-phoneme front end
Ported from misaki (https://github.com/hexgrad/misaki, Apache License 2.0,
Hexgrad): zh.py, zh_frontend.py, tone_sandhi.py (their word lists are
carried over) and transcription.py. misaki's zh_frontend and tone_sandhi
are adapted from PaddleSpeech (Apache License 2.0, Copyright (c) 2021
PaddlePaddle Authors); transcription.py from pinyin-to-ipa (MIT,
Stefan Taubert).
Kokoro G2P lexicon tables us_lexicon.bin, zh_pinyin.bin, zh_words.bin
Downloaded with the Kokoro model (https://makepad.nl/models/speech/kokoro-g2p/,
see libs/ai/models/speech/src/g2p/data.rs), not kept in this repository.
us_lexicon.bin is packed by libs/ai/models/speech/tools/build_lexicon.py
from misaki's us_gold.json (https://github.com/hexgrad/misaki, Apache
License 2.0, Hexgrad).
zh_pinyin.bin and zh_words.bin are packed by
libs/ai/models/speech/tools/build_zh_lexicon.py from three MIT-licensed sources:
pinyin-data and phrase-pinyin-data (Copyright (c) mozillazg,
https://github.com/mozillazg/pinyin-data and .../phrase-pinyin-data) and
the word dictionary of jieba (Copyright (c) 2013 Sun Junyi,
https://github.com/fxsjy/jieba).
libs/ai/models/speech/src/g2p/vocab*.rs
Symbol tables generated from the Kokoro model configs (Apache License 2.0).
Kokoro-82M v1.0 and v1.1-zh weights and voices (Hexgrad, Apache License 2.0)
are downloaded by the user, not redistributed here. The v1.1-zh voices
(zf_001 ... zm_100) were trained on Chinese data that LongMaoData
(https://www.longmaosoft.com/) granted to Hexgrad freely and permissively;
credit LongMaoData wherever those voices are offered. Whisper
large-v3-turbo (OpenAI, MIT) transcribes speech; its ggml conversion is from
https://github.com/ggerganov/whisper.cpp (MIT).
========================================================================
Oobleck VAE and SnakeBeta (stable-audio-tools, BigVGAN)
========================================================================
License: MIT
Copyright (c) 2023 Stability AI (stable-audio-tools, Oobleck autoencoder)
Copyright (c) 2022 NVIDIA CORPORATION (BigVGAN, SnakeBeta activation)
Upstream: https://github.com/Stability-AI/stable-audio-tools
https://github.com/NVIDIA/BigVGAN
libs/ai/models/music/src/oobleck.rs reimplements the Oobleck decoder
structure (weight-normalised convolutions, log-scale SnakeBeta, residual
units) used by the ACE-Step and YuE2 VAE checkpoints.
========================================================================
YuE2 inference reference (multimodal-art-projection/YuE)
========================================================================
License: Apache License 2.0
Upstream: https://github.com/multimodal-art-projection/YuE (src/yue2)
libs/ai/models/music/src/yue2*.rs are a native port of the YuE2 inference
protocol and architecture (prompt format, token ids, sampling order, the
AR-NAR mixture-of-transformers forward, flow-matching schedule, tiled VAE
decode). No upstream source is vendored. The YuE2 weights are licensed
separately (CC BY-NC 4.0, see below and the registry record yue2-3b).
========================================================================
PaddleOCR PP-OCRv5 mobile text detection (PaddlePaddle/PaddleOCR)
========================================================================
License: Apache License 2.0
Copyright (c) PaddlePaddle Authors
Upstream: https://github.com/PaddlePaddle/PaddleOCR
Weights: https://huggingface.co/PaddlePaddle/PP-OCRv5_mobile_det (Apache-2.0)
libs/ai/models/textdet lowers the PP-OCRv5 mobile detection program
(inference.json + inference.pdiparams) to its own graph and file with our
converter (src/paddle.rs, loader/src/formats/paddle.rs) and runs it with its
own kernels; its pre-processing (longer side 960, multiples of 32, BGR
mean/std) and DB post-processing thresholds (0.3 / 0.6 / unclip 1.5) follow
the model's inference.yml. No upstream source is vendored. The converted
weights file is a derivative of the Apache-2.0 weights and carries this
notice.
========================================================================
What this NOTICE does not cover
========================================================================
Model *weights* that a user downloads (FLUX, Hunyuan, Qwen, MiniMax, YuE2, …)
are licensed separately by their authors. This stack does not host or
redistribute those weights. The Asset UI requires an explicit per-model
acknowledgement of the registry license record before a model is cleared
for download or generation. See libs/asset/ai/registry.json `license`
objects and the Hunyuan paint `LicenseAcknowledgement` gate.