llama.cpp ReleasesAktualisiert

[Pre-Release / Continuous Build] b11630

[Pre-Release / Continuous Build] ggml: Ergebnislayout von conv_1d für gestapelte Eingabe korrigieren (#28738) * ggml: Ergebnislayout von conv_1d für gestapelte Eingabe korrigieren Die GEMM hinter conv_1d faltet den Batch…

Pre-Release / Continuous Build: Dies ist ein experimenteller Build, keine stabile Version.

ggml: Ergebnislayout von conv_1d für gestapelte Eingabe korrigieren (#28738) * ggml: Ergebnislayout von conv_1d für gestapelte Eingabe korrigieren Die GEMM hinter conv_1d faltet den Batch in ihre Zeilen, sodass das Produkt im Speicher als [OL, N, OC] liegt, während das reshape [OL, OC, N] behauptet. Die Form stimmt und die Inhalte sind transponiert, daher schlägt nichts an: kein Assert, kein Abbruch, der Graph läuft einfach durch und die Kanäle kommen mit den Batches verschachtelt heraus. Mit N == 1 beschreiben beide Lesarten denselben Puffer, weshalb die drei Vocoder im Baum das nie treffen – sie quetschen alle direkt nach dem Aufruf auf 2d. Zum realen Layout umformen und OC und N zurückpermutieren. Der Pfad mit N == 1 behält sein direktes reshape, sodass die aktuellen Aufrufer denselben Graphen erzeugen und für keine zusätzliche Kopie zahlen. tests/test-conv-1d.cpp vergleicht eine gestapelte Faltung gegen N einzelne Batch-Faltungen, die aus demselben Gewicht und denselben Eingabescheiben gbaut sind. Fünf der sieben Geometrien schlagen vor dieser Änderung fehl und alle sieben bestehen danach. N == 1 und OC == 1 bestehen in beiden Fällen, da das Vertauschen zweier Dimensionen nichts ändert, wenn eine davon 1 ist. Der gestapelte Pfad ist wichtig für nachgelagerte Audioprojekte, in denen sich mehrere Synthese-Kanäle einen einzigen Graphen teilen. Heute stapelt nichts in mtmd einen Vocoder, jeder streamt einen Durchlauf und trägt seinen linken Kontext zwischen Aufrufen mit, aber die Operation ist jetzt korrekt, falls einer davon eine Kanal-Dimension bekommt. * ggml: denselben conv_1d-Graphen für jede Batch-Größe erzeugen Nimmt die Rückmeldung von ggerganov auf: den Zweig mit N == 1 in ggml_conv_1d entfernen. Das GEMM-Ergebnis wird immer zu [OC, N, OL] umgeformt und zurückpermutiert, wie es ggml_conv_2d tut, sodass jede Batch-Größe denselben Graphen erzeugt. Für N == 1 fügt dies ein cont auf einem bereits geordneten Tensor hinzu.

Webseite: - https://llama.app

Attestierungen: - https://github.com/ggml-org/llama.cpp/attestations/56061987

macOS/iOS: - macOS Apple Silicon (arm64) - macOS Apple Silicon (arm64, KleidiAI aktiviert) DEAKTIVIERT - macOS Intel (x64) - iOS XCFramework

Linux: - Ubuntu x64 (CPU) - Ubuntu arm64 (CPU) - Ubuntu s390x (CPU) - Ubuntu x64 (Vulkan) - Ubuntu arm64 (Vulkan) - Ubuntu x64 (CUDA 12) - CUDA 12.8 libraries - Ubuntu x64 (CUDA 13) - CUDA 13.4 libraries - Ubuntu arm64 (CUDA 13) - CUDA 13.4 libraries - Ubuntu x64 (ROCm 10.0) - Ubuntu x64 (OpenVINO) - Ubuntu x64 (SYCL FP32) - Ubuntu x64 (SYCL FP16) - Linux arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - Einrichtungsanleitung

Android: - Android arm64 (CPU) - Android arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - Einrichtungsanleitung

Windows: - Windows x64 (CPU) - Windows arm64 (CPU) - Windows arm64 (OpenCL Adreno) - Windows x64 (CUDA 12) - CUDA 12.4 DLLs - Windows x64 (CUDA 13) - CUDA 13.4 DLLs - Windows arm64 (CUDA 13) - CUDA 13.4 DLLs - Windows x64 (Vulkan) - Windows arm64 (Vulkan) - Windows x64 (OpenVINO) - Windows x64 (SYCL) - Windows x64 (ROCm 10.0)

openEuler: - DISABLED - openEuler x86 (310p) - openEuler x86 (910b, ACL Graph) - openEuler aarch64 (310p) - openEuler aarch64 (910b, ACL Graph)

UI: - UI

Originalquelle

llama.cpp Releases

Hinweise zum Inhalt

Originalveröffentlichung und Rechte liegen bei der Quelle.

Maschinelle Übersetzung · Original beachten