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
---

# 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
|