|
--- |
|
license: gemma |
|
language: |
|
- en |
|
base_model: |
|
- prithivMLmods/GWQ-9B-Preview2 |
|
pipeline_tag: text-generation |
|
library_name: transformers |
|
tags: |
|
- gemma |
|
- llama-cpp |
|
--- |
|
![gwq2.png](/static-proxy?url=https%3A%2F%2Fcdn-uploads.huggingface.co%2Fproduction%2Fuploads%2F65bb837dbfb878f46c77de4c%2FAyc6YKE6FKYKb8Mible4z.png%3C%2Fspan%3E)%3C!-- HTML_TAG_END --> |
|
|
|
# **GWQ-9B-Preview 1&2 GGUF** |
|
|
|
GWQ2 - Gemma with Questions Prev is a family of lightweight, state-of-the-art open models from Google, built using the same research and technology employed to create the Gemini models. These models are text-to-text, decoder-only large language models, available in English, with open weights for both pre-trained and instruction-tuned variants. Gemma models are well-suited for a variety of text generation tasks, including question answering, summarization, and reasoning. GWQ is fine-tuned on the Chain of Continuous Thought Synthetic Dataset, built upon the Gemma2forCasualLM architecture. |
|
|
|
# **Running GWQ Demo** |
|
|
|
```python |
|
# pip install accelerate |
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
import torch |
|
|
|
tokenizer = AutoTokenizer.from_pretrained("prithivMLmods/GWQ-9B-Preview2") |
|
model = AutoModelForCausalLM.from_pretrained( |
|
"prithivMLmods/GWQ-9B-Preview2", |
|
device_map="auto", |
|
torch_dtype=torch.bfloat16, |
|
) |
|
|
|
input_text = "Write me a poem about Machine Learning." |
|
input_ids = tokenizer(input_text, return_tensors="pt").to("cuda") |
|
|
|
outputs = model.generate(**input_ids, max_new_tokens=32) |
|
print(tokenizer.decode(outputs[0])) |
|
``` |
|
|
|
You can ensure the correct chat template is applied by using `tokenizer.apply_chat_template` as follows: |
|
```python |
|
messages = [ |
|
{"role": "user", "content": "Write me a poem about Machine Learning."}, |
|
] |
|
input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt", return_dict=True).to("cuda") |
|
|
|
outputs = model.generate(**input_ids, max_new_tokens=256) |
|
print(tokenizer.decode(outputs[0])) |
|
``` |
|
|
|
# **Key Architecture** |
|
|
|
1. **Transformer-Based Design**: |
|
Gemma 2 leverages the transformer architecture, utilizing self-attention mechanisms to process input text and capture contextual relationships effectively. |
|
|
|
2. **Lightweight and Efficient**: |
|
It is designed to be computationally efficient, with fewer parameters compared to larger models, making it ideal for deployment on resource-constrained devices or environments. |
|
|
|
3. **Modular Layers**: |
|
The architecture consists of modular encoder and decoder layers, allowing flexibility in adapting the model for specific tasks like text generation, summarization, or classification. |
|
|
|
4. **Attention Mechanisms**: |
|
Gemma 2 employs multi-head self-attention to focus on relevant parts of the input text, improving its ability to handle long-range dependencies and complex language structures. |
|
|
|
5. **Pre-training and Fine-Tuning**: |
|
The model is pre-trained on large text corpora and can be fine-tuned for specific tasks, such as markdown processing in ReadM.Md, to enhance its performance on domain-specific data. |
|
|
|
6. **Scalability**: |
|
The architecture supports scaling up or down based on the application's requirements, balancing performance and resource usage. |
|
|
|
7. **Open-Source and Customizable**: |
|
Being open-source, Gemma 2 allows developers to modify and extend its architecture to suit specific use cases, such as integrating it into tools like ReadM.Md for markdown-related tasks. |
|
|
|
# **Intended Use of GWQ2 (Gemma with Questions2)** |
|
|
|
1. **Question Answering:** |
|
The model excels in generating concise and relevant answers to user-provided queries across various domains. |
|
|
|
2. **Summarization:** |
|
It can be used to summarize large bodies of text, making it suitable for news aggregation, academic research, and report generation. |
|
|
|
3. **Reasoning Tasks:** |
|
GWQ is fine-tuned on the Chain of Continuous Thought Synthetic Dataset, which enhances its ability to perform reasoning, multi-step problem solving, and logical inferences. |
|
|
|
4. **Text Generation:** |
|
The model is ideal for creative writing tasks such as generating poems, stories, and essays. It can also be used for generating code comments, documentation, and markdown files. |
|
|
|
5. **Instruction Following:** |
|
GWQ’s instruction-tuned variant is suitable for generating responses based on user instructions, making it useful for virtual assistants, tutoring systems, and automated customer support. |
|
|
|
6. **Domain-Specific Applications:** |
|
Thanks to its modular design and open-source nature, the model can be fine-tuned for specific tasks like legal document summarization, medical record analysis, or financial report generation. |
|
|
|
## **Limitations of GWQ2** |
|
|
|
1. **Resource Requirements:** |
|
Although lightweight compared to larger models, the 9B parameter size still requires significant computational resources, including GPUs with large memory for inference. |
|
|
|
2. **Knowledge Cutoff:** |
|
The model’s pre-training data may not include recent information, making it less effective for answering queries on current events or newly developed topics. |
|
|
|
3. **Bias in Outputs:** |
|
Since the model is trained on publicly available datasets, it may inherit biases present in those datasets, leading to potentially biased or harmful outputs in sensitive contexts. |
|
|
|
4. **Hallucinations:** |
|
Like other large language models, GWQ can occasionally generate incorrect or nonsensical information, especially when asked for facts or reasoning outside its training scope. |
|
|
|
5. **Lack of Common-Sense Reasoning:** |
|
While GWQ is fine-tuned for reasoning, it may still struggle with tasks requiring deep common-sense knowledge or nuanced understanding of human behavior and emotions. |
|
|
|
6. **Dependency on Fine-Tuning:** |
|
For optimal performance on domain-specific tasks, fine-tuning on relevant datasets is required, which demands additional computational resources and expertise. |
|
|
|
7. **Context Length Limitation:** |
|
The model’s ability to process long documents is limited by its maximum context window size. If the input exceeds this limit, truncation may lead to loss of important information. |
|
|
|
# **Running Models with Ollama** |
|
|
|
### Step 1: Install Ollama |
|
|
|
Ollama is supported on MacOS, Windows, and Linux. To install Ollama on your machine, follow the instructions below based on your operating system. |
|
|
|
#### Linux (Ubuntu) |
|
Run the following command to install Ollama: |
|
```bash |
|
curl -fsSL https://ollama.com/install.sh | sh |
|
``` |
|
|
|
#### MacOS or Windows |
|
Visit the [official Ollama website](https://ollama.com) and download the installer for your platform. |
|
|
|
During installation, Ollama will auto-detect NVIDIA/AMD GPUs if the drivers are installed. CPU-only mode is also supported but may be slower. |
|
|
|
### Step 2: Download a Model |
|
|
|
Ollama supports a variety of models. You can browse the [model library](https://ollama.com/library) to find the model you want to use. To download a model, use the `ollama pull` command. |
|
|
|
For example, to download the `Gemma 2B` model: |
|
```bash |
|
ollama pull gemma:2b |
|
``` |
|
|
|
This will download the model to your machine. The download size and time will vary depending on the model. |
|
|
|
### Step 3: Run the Model |
|
|
|
Once the model is downloaded, you can start interacting with it using the `ollama run` command: |
|
```bash |
|
ollama run gemma:2b |
|
``` |
|
|
|
This will start an Ollama REPL where you can interact with the model directly. For example: |
|
``` |
|
>>> What are some commonly used modules in the Python standard library? |
|
Some commonly used modules in the Python standard library include: |
|
- os |
|
- sys |
|
- math |
|
- random |
|
- datetime |
|
- json |
|
``` |
|
### Additional Commands |
|
|
|
- **List Downloaded Models**: To see all models downloaded on your machine: |
|
```bash |
|
ollama list |
|
``` |
|
|
|
- **Remove a Model**: To delete a model: |
|
```bash |
|
ollama rm <model_name> |
|
``` |
|
|
|
- **Update a Model**: To update a model to the latest version: |
|
```bash |
|
ollama pull <model_name> |
|
``` |
|
For more details, visit the [Ollama documentation](https://github.com/ollama/ollama/blob/main/docs/README.md). |
|
|