File size: 5,896 Bytes
0a015c0
 
 
 
 
 
 
 
b05bc2f
0a015c0
 
 
0bbefe9
0a015c0
 
 
 
4246c48
6c35f88
0a015c0
91cc4a9
4246c48
 
ad1b25d
0a015c0
 
 
 
 
72407af
 
0a015c0
6c35f88
0a015c0
6c35f88
0a015c0
02e51c1
0a015c0
6c35f88
0a015c0
 
 
72407af
 
 
 
 
 
 
 
 
 
0a015c0
4dd4fc2
 
fb2b28a
6c35f88
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4dd4fc2
 
 
72407af
290842f
 
72407af
9a7f9da
 
0a015c0
 
 
 
 
72407af
 
0a015c0
72407af
0a015c0
 
72407af
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
---
library_name: pytorch
license: llama2
tags:
- llm
- generative_ai
- quantized
- android
pipeline_tag: text-generation

---

![](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/llama_v2_7b_chat_quantized/web-assets/model_demo.png)

# Llama-v2-7B-Chat: Optimized for Mobile Deployment
## State-of-the-art large language model useful on a variety of language understanding and generation tasks


Llama 2 is a family of LLMs. The "Chat" at the end indicates that the model is optimized for chatbot-like dialogue. The model is quantized to w4a16(4-bit weights and 16-bit activations) and part of the model is quantized to w8a16(8-bit weights and 16-bit activations) making it suitable for on-device deployment. For Prompt and output length specified below, the time to first token is Llama-PromptProcessor-Quantized's latency and average time per addition token is Llama-TokenGenerator-KVCache-Quantized's latency.

This model is an implementation of Llama-v2-7B-Chat found [here](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf).


 More details on model performance across various devices, can be found [here](https://aihub.qualcomm.com/models/llama_v2_7b_chat_quantized).

### Model Details

- **Model Type:** Text generation
- **Model Stats:**
  - Input sequence length for Prompt Processor: 1024
  - Context length: 1024
  - Number of parameters: 7B
  - Precision: w4a16 + w8a16 (few layers)
  - Model-1 (Prompt Processor): Llama-PromptProcessor-Quantized
  - Prompt processor model size: 3.6 GB
  - Prompt processor input: 1024 tokens
  - Prompt processor output: 1024 output tokens + KVCache for token generator
  - Model-2 (Token Generator): Llama-TokenGenerator-KVCache-Quantized
  - Token generator model size: 3.6 GB
  - Token generator input: 1 input token + past KVCache
  - Token generator output: 1 output token + KVCache for next iteration
  - Use: Initiate conversation with prompt-processor and then token generator for subsequent iterations.
  - Minimum QNN SDK version required: 2.27.0
  - Supported languages: English.
  - TTFT: Time To First Token is the time it takes to generate the first response token. This is expressed as a range because it varies based on the length of the prompt. For Llama-v2-7B-Chat, both values in the range are the same since prompt length is the full context length (1024 tokens).
  - Response Rate: Rate of response generation after the first response token.

| Model | Device | Chipset | Target Runtime | Response Rate (tokens per second) | Time To First Token (range, seconds)
|---|---|---|---|---|---|
| Llama-v2-7B-Chat | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | QNN | 12.85 | 1.49583 - 1.49583 | -- | -- |
| Llama-v2-7B-Chat | Snapdragon X Elite CRD | Snapdragon® X Elite | QNN | 11.2 | 1.9189999999999998 - 1.9189999999999998 | -- | -- |
| Llama-v2-7B-Chat | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | QNN | 17.94 | 1.44 - 1.44 | -- | -- |

## Deploying Llama 2 on-device

Please follow the [LLM on-device deployment](https://github.com/quic/ai-hub-apps/tree/main/tutorials/llm_on_genie) tutorial.

## Sample output prompts generated on-device
1. --prompt "what is gravity?" --max-output-tokens 30
~~~
-------- Response Summary --------
Prompt: what is gravity?
Response: Hello! I'm here to help you answer your question. Gravity is a fundamental force of nature that affects the behavior of objects with mass
~~~

2. --prompt "what is 2+3?" --max-output-tokens 30
~~~
-------- Response Summary --------
Prompt: what is 2+3?
Response: Of course! I'm happy to help! The answer to 2+3 is 5.
~~~

3. --prompt "could you please write code for fibonacci series in python?" --max-output-tokens 100
~~~
-------- Response Summary --------
Prompt: could you please write code for fibonacci series in python?
Response: Of course! Here is an example of how you could implement the Fibonacci sequence in Python:
```
def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)
```
You can test the function by calling it with different values of `n`, like this:
```
print(fibonacci(5))
~~~



## License
* The license for the original implementation of Llama-v2-7B-Chat can be found
  [here](https://github.com/facebookresearch/llama/blob/main/LICENSE).
* The license for the compiled assets for on-device deployment can be found [here](https://github.com/facebookresearch/llama/blob/main/LICENSE)



## References
* [LLaMA: Open and Efficient Foundation Language Models](https://arxiv.org/abs/2302.13971)
* [Source Model Implementation](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf)



## Community
* Join [our AI Hub Slack community](https://qualcomm-ai-hub.slack.com/join/shared_invite/zt-2d5zsmas3-Sj0Q9TzslueCjS31eXG2UA#/shared-invite/email) to collaborate, post questions and learn more about on-device AI.
* For questions or feedback please [reach out to us](mailto:[email protected]).

## Usage and Limitations

Model may not be used for or in connection with any of the following applications:

- Accessing essential private and public services and benefits;
- Administration of justice and democratic processes;
- Assessing or recognizing the emotional state of a person;
- Biometric and biometrics-based systems, including categorization of persons based on sensitive characteristics;
- Education and vocational training;
- Employment and workers management;
- Exploitation of the vulnerabilities of persons resulting in harmful behavior;
- General purpose social scoring;
- Law enforcement;
- Management and operation of critical infrastructure;
- Migration, asylum and border control management;
- Predictive policing;
- Real-time remote biometric identification in public spaces;
- Recommender systems of social media platforms;
- Scraping of facial images (from the internet or otherwise); and/or
- Subliminal manipulation