search
HomeTechnology peripheralsAILeCun likes: Running LLaMA on Apple M1/M2 chip! The 13 billion parameter model requires only 4GB of memory

Not long ago, Meta released the open source large language model LLaMA, but then netizens released a no-threshold download link, which was "miserably" open.

As soon as the news came out, the circle immediately became lively, and everyone began to download and test it.

But those friends who don’t have top-level graphics cards can only look at the model and sigh.

However, it’s not a big problem. Georgi Gerganov recently made a project called "llama.cpp" - LLaMA can be run without a GPU.

LeCun likes: Running LLaMA on Apple M1/M2 chip! The 13 billion parameter model requires only 4GB of memory

## Project address: https://github.com/ggerganov/llama.cpp

Yes, this also includes Macs equipped with Apple chips. And also received forwarding support from LeCun.

LeCun likes: Running LLaMA on Apple M1/M2 chip! The 13 billion parameter model requires only 4GB of memory

Running LLaMA on M1/M2 Mac

For now, this is a relatively comprehensive tutorial. There are two, based on Apple's M1 and M2 processors.

LeCun likes: Running LLaMA on Apple M1/M2 chip! The 13 billion parameter model requires only 4GB of memory

##First article: https://dev.l1x.be/posts/2023/03/ 12/using-llama-with-m1-mac/

LeCun likes: Running LLaMA on Apple M1/M2 chip! The 13 billion parameter model requires only 4GB of memory

##Second article: https ://til.simonwillison.net/llms/llama-7b-m2

Without further ado, let’s look at the effect first.

For example, on the smallest 7B model, ask: "Who was the first person to land on the moon?"

Very quickly, the results came out after a few seconds.

LeCun likes: Running LLaMA on Apple M1/M2 chip! The 13 billion parameter model requires only 4GB of memory-p 'The first man to land on the moon was'

the first man to land on the moon The person is 38-year-old astronaut Neil A. Armstrong.

On July 20, 1969, Apollo 11 landed on the moon.

Apollo 11 was the first manned mission to land on the moon and was the climax of the space race. In July 1969, Neil Armstrong and Edwin "Buzz" Aldrin became the first humans to land on the moon.

Apollo 11 launched from the Kennedy Space Center on July 16.

There are no obvious factual errors in Armstrong’s age, middle name and date of landing on the moon. This is not easy for such a small model.

If you use the following tips, you can generate some practical Python code.

-p 'def open_and_return_content(filename):'
def open_and_return_content(filename):
"""Opens file (returning the content) and performs basic sanity checks"""if os.path.isfile(filename):
with open(filename) as f:
content = f.read()
return contentelse:
print('WARNING: file "{}" does not exist'.format(filename), file=sys.stderr)
return ''def get_file_info(filename, fullpath):
"""Get file information (i.e., permission, owner, group, size)"""
接下来,我们就来看看具体是如何实现的。
Step 1: Download the model

The first thing to do is to download the LLaMA model.

You can submit an application to Meta through the official form, or obtain it directly from the link shared by netizens.

In short, when you are done, you will see the following pile of things:

LeCun likes: Running LLaMA on Apple M1/M2 chip! The 13 billion parameter model requires only 4GB of memory

As you can see, different models are in different folders. Each model has a params.json containing details about the model. For example:

LeCun likes: Running LLaMA on Apple M1/M2 chip! The 13 billion parameter model requires only 4GB of memoryStep 2: Install dependencies

首先,你需要安装Xcode来编译C++项目。

xcode-select --install

接下来,是构建C++项目的依赖项(pkgconfig和cmake)。

brew install pkgconfig cmake

在环境的配置上,假如你用的是Python 3.11,则可以创建一个虚拟环境:

/opt/homebrew/bin/python3.11 -m venv venv

然后激活venv。(如果是fish以外的shell,只要去掉.fish后缀即可)

. venv/bin/activate.fish

最后,安装Torch。

pip3 install --pre torch torchvision --extra-index-url https://download.pytorch.org/whl/nightly/cpu


如果你对利用新的Metal性能着色器(MPS)后端进行GPU训练加速感兴趣,可以通过运行以下程序来进行验证。但这不是在M1上运行LLaMA的必要条件。

python
Python 3.11.2 (main, Feb 16 2023, 02:55:59) [Clang 14.0.0 (clang-1400.0.29.202)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch; torch.backends.mps.is_available()True

第三步:编译LLaMA CPP

git clone git@github.com:ggerganov/llama.cpp.git

在安装完所有的依赖项后,你可以运行make:

make
I llama.cpp build info:
I UNAME_S:Darwin
I UNAME_P:arm
I UNAME_M:arm64
I CFLAGS: -I.-O3 -DNDEBUG -std=c11 -fPIC -pthread -DGGML_USE_ACCELERATE
I CXXFLAGS: -I. -I./examples -O3 -DNDEBUG -std=c++11 -fPIC -pthread
I LDFLAGS: -framework Accelerate
I CC: Apple clang version 14.0.0 (clang-1400.0.29.202)I CXX:Apple clang version 14.0.0 (clang-1400.0.29.202)
cc-I.-O3 -DNDEBUG -std=c11 -fPIC -pthread -DGGML_USE_ACCELERATE -c ggml.c -o ggml.o
c++ -I. -I./examples -O3 -DNDEBUG -std=c++11 -fPIC -pthread -c utils.cpp -o utils.o
c++ -I. -I./examples -O3 -DNDEBUG -std=c++11 -fPIC -pthread main.cpp ggml.o utils.o -o main-framework Accelerate
./main -h
usage: ./main [options]
options:
-h, --helpshow this help message and exit
-s SEED, --seed SEEDRNG seed (default: -1)
-t N, --threads N number of threads to use during computation (default: 4)
-p PROMPT, --prompt PROMPT
prompt to start generation with (default: random)
-n N, --n_predict N number of tokens to predict (default: 128)
--top_k N top-k sampling (default: 40)
--top_p N top-p sampling (default: 0.9)
--temp Ntemperature (default: 0.8)
-b N, --batch_size Nbatch size for prompt processing (default: 8)
-m FNAME, --model FNAME
model path (default: models/llama-7B/ggml-model.bin)
c++ -I. -I./examples -O3 -DNDEBUG -std=c++11 -fPIC -pthread quantize.cpp ggml.o utils.o -o quantize-framework Accelerate

第四步:转换模型

假设你已经把模型放在llama.cpp repo中的models/下。

python convert-pth-to-ggml.py models/7B 1

那么,应该会看到像这样的输出:

{'dim': 4096, 'multiple_of': 256, 'n_heads': 32, 'n_layers': 32, 'norm_eps': 1e-06, 'vocab_size': 32000}n_parts =1Processing part0Processing variable: tok_embeddings.weight with shape:torch.Size([32000, 4096])and type:torch.float16
Processing variable: norm.weight with shape:torch.Size([4096])and type:torch.float16
Converting to float32
Processing variable: output.weight with shape:torch.Size([32000, 4096])and type:torch.float16
Processing variable: layers.0.attention.wq.weight with shape:torch.Size([4096, 4096])and type:torch.f
loat16
Processing variable: layers.0.attention.wk.weight with shape:torch.Size([4096, 4096])and type:torch.f
loat16
Processing variable: layers.0.attention.wv.weight with shape:torch.Size([4096, 4096])and type:torch.f
loat16
Processing variable: layers.0.attention.wo.weight with shape:torch.Size([4096, 4096])and type:torch.f
loat16
Processing variable: layers.0.feed_forward.w1.weight with shape:torch.Size([11008, 4096])and type:tor
ch.float16
Processing variable: layers.0.feed_forward.w2.weight with shape:torch.Size([4096, 11008])and type:tor
ch.float16
Processing variable: layers.0.feed_forward.w3.weight with shape:torch.Size([11008, 4096])and type:tor
ch.float16
Processing variable: layers.0.attention_norm.weight with shape:torch.Size([4096])and type:torch.float
16...
Done. Output file: models/7B/ggml-model-f16.bin, (part0 )

下一步将是进行量化处理:

./quantize ./models/7B/ggml-model-f16.bin ./models/7B/ggml-model-q4_0.bin 2

输出如下:

llama_model_quantize: loading model from './models/7B/ggml-model-f16.bin'llama_model_quantize: n_vocab = 32000llama_model_quantize: n_ctx = 512llama_model_quantize: n_embd= 4096llama_model_quantize: n_mult= 256llama_model_quantize: n_head= 32llama_model_quantize: n_layer = 32llama_model_quantize: f16 = 1...
layers.31.attention_norm.weight - [ 4096, 1], type =f32 size =0.016 MB
layers.31.ffn_norm.weight - [ 4096, 1], type =f32 size =0.016 MB
llama_model_quantize: model size= 25705.02 MB
llama_model_quantize: quant size=4017.27 MB
llama_model_quantize: hist: 0.000 0.022 0.019 0.033 0.053 0.078 0.104 0.125 0.134 0.125 0.104 0.078 0.053 0.033 0.019 0.022


main: quantize time = 29389.45 ms
main:total time = 29389.45 ms

第五步:运行模型

./main -m ./models/7B/ggml-model-q4_0.bin 
-t 8 
-n 128 
-p 'The first president of the USA was '
main: seed = 1678615879llama_model_load: loading model from './models/7B/ggml-model-q4_0.bin' - please wait ...
llama_model_load: n_vocab = 32000llama_model_load: n_ctx = 512llama_model_load: n_embd= 4096llama_model_load: n_mult= 256llama_model_load: n_head= 32llama_model_load: n_layer = 32llama_model_load: n_rot = 128llama_model_load: f16 = 2llama_model_load: n_ff= 11008llama_model_load: n_parts = 1llama_model_load: ggml ctx size = 4529.34 MB
llama_model_load: memory_size = 512.00 MB, n_mem = 16384llama_model_load: loading model part 1/1 from './models/7B/ggml-model-q4_0.bin'llama_model_load: .................................... donellama_model_load: model size =4017.27 MB / num tensors = 291
main: prompt: 'The first president of the USA was 'main: number of tokens in prompt = 9 1 -> ''1576 -> 'The' 937 -> ' first'6673 -> ' president' 310 -> ' of' 278 -> ' the'8278 -> ' USA' 471 -> ' was' 29871 -> ' '
sampling parameters: temp = 0.800000, top_k = 40, top_p = 0.950000


The first president of the USA was 57 years old when he assumed office (George Washington). Nowadays, the US electorate expects the new president to be more young at heart. President Donald Trump was 70 years old when he was inaugurated. In contrast to his predecessors, he is physically fit, healthy and active. And his fitness has been a prominent theme of his presidency. During the presidential campaign, he famously said he
 would be the “most active president ever” — a statement Trump has not yet achieved, but one that fits his approach to the office. His tweets demonstrate his physical activity.


main: mem per token = 14434244 bytes
main: load time =1311.74 ms
main: sample time = 278.96 ms
main:predict time =7375.89 ms / 54.23 ms per token
main:total time =9216.61 ms

资源使用情况

第二位博主表示,在运行时,13B模型使用了大约4GB的内存,以及748%的CPU。(设定的就是让模型使用8个CPU核心)

没有指令微调

GPT-3和ChatGPT效果如此之好的关键原因之一是,它们都经过了指令微调,

这种额外的训练使它们有能力对人类的指令做出有效的反应。比如「总结一下这个」或「写一首关于水獭的诗」或「从这篇文章中提取要点」。

撰写教程的博主表示,据他观察,LLaMA并没有这样的能力。

也就是说,给LLaMA的提示需要采用经典的形式:「一些将由......完成的文本」。这也让提示工程变得更加困难。

举个例子,博主至今都还没有想出一个正确的提示,从而让LLaMA实现文本的总结。

The above is the detailed content of LeCun likes: Running LLaMA on Apple M1/M2 chip! The 13 billion parameter model requires only 4GB of memory. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:51CTO.COM. If there is any infringement, please contact admin@php.cn delete
[Ghibli-style images with AI] Introducing how to create free images with ChatGPT and copyright[Ghibli-style images with AI] Introducing how to create free images with ChatGPT and copyrightMay 13, 2025 am 01:57 AM

The latest model GPT-4o released by OpenAI not only can generate text, but also has image generation functions, which has attracted widespread attention. The most eye-catching feature is the generation of "Ghibli-style illustrations". Simply upload the photo to ChatGPT and give simple instructions to generate a dreamy image like a work in Studio Ghibli. This article will explain in detail the actual operation process, the effect experience, as well as the errors and copyright issues that need to be paid attention to. For details of the latest model "o3" released by OpenAI, please click here⬇️ Detailed explanation of OpenAI o3 (ChatGPT o3): Features, pricing system and o4-mini introduction Please click here for the English version of Ghibli-style article⬇️ Create Ji with ChatGPT

Explaining examples of use and implementation of ChatGPT in local governments! Also introduces banned local governmentsExplaining examples of use and implementation of ChatGPT in local governments! Also introduces banned local governmentsMay 13, 2025 am 01:53 AM

As a new communication method, the use and introduction of ChatGPT in local governments is attracting attention. While this trend is progressing in a wide range of areas, some local governments have declined to use ChatGPT. In this article, we will introduce examples of ChatGPT implementation in local governments. We will explore how we are achieving quality and efficiency improvements in local government services through a variety of reform examples, including supporting document creation and dialogue with citizens. Not only local government officials who aim to reduce staff workload and improve convenience for citizens, but also all interested in advanced use cases.

What is the Fukatsu-style prompt in ChatGPT? A thorough explanation with example sentences!What is the Fukatsu-style prompt in ChatGPT? A thorough explanation with example sentences!May 13, 2025 am 01:52 AM

Have you heard of a framework called the "Fukatsu Prompt System"? Language models such as ChatGPT are extremely excellent, but appropriate prompts are essential to maximize their potential. Fukatsu prompts are one of the most popular prompt techniques designed to improve output accuracy. This article explains the principles and characteristics of Fukatsu-style prompts, including specific usage methods and examples. Furthermore, we have introduced other well-known prompt templates and useful techniques for prompt design, so based on these, we will introduce C.

What is ChatGPT Search? Explains the main functions, usage, and fee structure!What is ChatGPT Search? Explains the main functions, usage, and fee structure!May 13, 2025 am 01:51 AM

ChatGPT Search: Get the latest information efficiently with an innovative AI search engine! In this article, we will thoroughly explain the new ChatGPT feature "ChatGPT Search," provided by OpenAI. Let's take a closer look at the features, usage, and how this tool can help you improve your information collection efficiency with reliable answers based on real-time web information and intuitive ease of use. ChatGPT Search provides a conversational interactive search experience that answers user questions in a comfortable, hidden environment that hides advertisements

An easy-to-understand explanation of how to create a composition in ChatGPT and prompts!An easy-to-understand explanation of how to create a composition in ChatGPT and prompts!May 13, 2025 am 01:50 AM

In a modern society with information explosion, it is not easy to create compelling articles. How to use creativity to write articles that attract readers within a limited time and energy requires superb skills and rich experience. At this time, as a revolutionary writing aid, ChatGPT attracted much attention. ChatGPT uses huge data to train language generation models to generate natural, smooth and refined articles. This article will introduce how to effectively use ChatGPT and efficiently create high-quality articles. We will gradually explain the writing process of using ChatGPT, and combine specific cases to elaborate on its advantages and disadvantages, applicable scenarios, and safe use precautions. ChatGPT will be a writer to overcome various obstacles,

How to create diagrams using ChatGPT! Illustrated loading and plugins are also explainedHow to create diagrams using ChatGPT! Illustrated loading and plugins are also explainedMay 13, 2025 am 01:49 AM

An efficient guide to creating charts using AI Visual materials are essential to effectively conveying information, but creating it takes a lot of time and effort. However, the chart creation process is changing dramatically due to the rise of AI technologies such as ChatGPT and DALL-E 3. This article provides detailed explanations on efficient and attractive diagram creation methods using these cutting-edge tools. It covers everything from ideas to completion, and includes a wealth of information useful for creating diagrams, from specific steps, tips, plugins and APIs that can be used, and how to use the image generation AI "DALL-E 3."

An easy-to-understand explanation of ChatGPT Plus' pricing structure and payment methods!An easy-to-understand explanation of ChatGPT Plus' pricing structure and payment methods!May 13, 2025 am 01:48 AM

Unlock ChatGPT Plus: Fees, Payment Methods and Upgrade Guide ChatGPT, a world-renowned generative AI, has been widely used in daily life and business fields. Although ChatGPT is basically free, the paid version of ChatGPT Plus provides a variety of value-added services, such as plug-ins, image recognition, etc., which significantly improves work efficiency. This article will explain in detail the charging standards, payment methods and upgrade processes of ChatGPT Plus. For details of OpenAI's latest image generation technology "GPT-4o image generation" please click: Detailed explanation of GPT-4o image generation: usage methods, prompt word examples, commercial applications and differences from other AIs Table of contents ChatGPT Plus Fees Ch

Explaining how to create a design using ChatGPT! We also introduce examples of use and promptsExplaining how to create a design using ChatGPT! We also introduce examples of use and promptsMay 13, 2025 am 01:47 AM

How to use ChatGPT to streamline your design work and increase creativity This article will explain in detail how to create a design using ChatGPT. We will introduce examples of using ChatGPT in various design fields, such as ideas, text generation, and web design. We will also introduce points that will help you improve the efficiency and quality of a variety of creative work, such as graphic design, illustration, and logo design. Please take a look at how AI can greatly expand your design possibilities. table of contents ChatGPT: A powerful tool for design creation

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.