GGML_ASSERT Failed During Benchmarking Dummy Model on Apple Silicon Mac.
Nessuno ha ancora preso questa issue.
- Lingua principale
- C++
- Stelle
- 40.3k
- Fork
- 3.7k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Description
Error when running the llama-bench tool on a dummy model, as specified in readme. Failed assertion in ggml.c relating to tile number for parallel processing.
Steps to Reproduce
git clone --recursive https://github.com/microsoft/bitnet BitNetRecreate
cd BitNetRecreate
conda activate bitnet-cpp
python setup_env.py --hf-repo 1bitLLM/bitnet_b1_58-large -q tl1
python utils/generate-dummy-bitnet-model.py models/bitnet_b1_58-large \
--outfile models/dummy-bitnet-125m.tl1.gguf --outtype tl1 --model-size 125M
python utils/e2e_benchmark.py -m models/dummy-bitnet-125m.tl1.gguf
Erroneous output
.../BitNetRecreate/3rdparty/llama.cpp/ggml/src/ggml.c:12696: GGML_ASSERT(ne0 % n_tile_num == 0) failed
ERROR:root:Error occurred while running command: Command '['/Users/mbeton/Documents/exo_bitnet/BitNetRecreate/build/bin/llama-bench', '-m', 'models/dummy-bitnet-125m.tl1.gguf', '-n', '128', '-ngl', '0', '-b', '1', '-t', '2', '-p', '512', '-r', '5']' died with <Signals.SIGABRT: 6>.
OS: macOS (M2 Pro MacBook Pro)
Python Version: Python 3.9.20
Repository Commit: bf11a49f11b9d0535285cc4cdec834a28762ed87
Further Exploration
To diagnose, I added print statements after line 12695 of ggml.c. These showed that the ne0 value is as expected, but the n_tile_num value is 0, leading to the assertion error.
I tested with model sizes 125M and 350M. The only instance when the program doesn't crash is when creating a new model type '700M' with identical parameters to the original bitnet_b1_58_large model.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con i comandi di riproduzione ed esegui utils/e2e_benchmark.py con i modelli dummy generati da 125M e 350M su Apple Silicon. Esamina il calcolo del numero di tile intorno alla riga 12696 di 3rdparty/llama.cpp/ggml/src/ggml.c e l’invocazione di llama-bench mostrata nell’errore. Il lavoro è completato quando i benchmark dei modelli dummy interessati terminano senza l’errore GGML_ASSERT.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp, macos, python
- Ambito
- machine-learning, performance, testing-qa
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100