File size: 7,500 Bytes
f6e8dfa 33330a7 f6e8dfa |
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 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 |
---
license: apache-2.0
base_model:
- Qwen/Qwen3-235B-A22B-Instruct-2507
---
## Model Details
This model is a mixed gguf:q2ks of [Qwen/Qwen3-235B-A22B-Instruct-2507](https://huggingface.co/Qwen/Qwen3-235B-A22B-Instruct-2507) generated by [intel/auto-round](https://github.com/intel/auto-round) algorithm. Embedding layer and lm-head layer are fallback to 8 bits and non expert layers are fallback to 4 bits. Please refer to Section `Generate the model` for more details.
## How To Use
### LLamacpp Inference
~~~bash
./llama-cli -hf Intel/Qwen3-235B-A22B-Instruct-2507-gguf-q2ks-mixed-AutoRound:q2_k_s --conversation
~~~
~~~python
"""
> Hi
Hello! How can I help you today? ๐
> code a flappy bird in Python
Sure! Here's a simple **Flappy Bird** game implemented in Python using the **Pygame** library.
---
### ๐ง Requirements:
Make sure you have **Pygame** installed:
```bash
pip install pygame
```
---
### ๐ค Flappy Bird in Python
```python
import pygame
import random
import sys
# Initialize Pygame
pygame.init()
# Screen dimensions
WIDTH, HEIGHT = 400, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Flappy Bird")
# Colors
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
GREEN = (0, 128, 0)
SKY_BLUE = (135, 206, 235)
# Game settings
GRAVITY = 0.5
FLAP_STRENGTH = -10
PIPE_SPEED = 3
PIPE_GAP = 150
PIPE_FREQUENCY = 1500 # milliseconds
# Bird class
class Bird:
def __init__(self):
self.x = 50
self.y = HEIGHT // 2
self.velocity = 0
self.width = 20
self.height = 20
def flap(self):
self.velocity = FLAP_STRENGTH
def update(self):
self.velocity += GRAVITY
self.y += self.velocity
if self.y < 0:
self.y = 0
if self.y > HEIGHT:
self.y = HEIGHT
def draw(self):
pygame.draw.circle(screen, BLACK, (self.x, int(self.y)), self.width // 2)
# Pipe class
class Pipe:
def __init__(self):
self.x = WIDTH
self.top = random.randint(50, HEIGHT - PIPE_GAP - 50)
self.bottom = self.top + PIPE_GAP
self.width = 50
self.passed = False
def update(self):
self.x -= PIPE_SPEED
return self.x > -self.width
def draw(self):
pygame.draw.rect(screen, GREEN, (self.x, 0, self.width, self.top))
pygame.draw.rect(screen, GREEN, (self.x, self.bottom, self.width, HEIGHT - self.bottom))
def collide(self, bird):
if bird.x + bird.width // 2 > self.x and bird.x - bird.width // 2 < self.x + self.width:
if bird.y - bird.height // 2 < self.top or bird.y + bird.height // 2 > self.bottom:
return True
return False
# Main game loop
def game():
bird = Bird()
pipes = []
score = 0
clock = pygame.time.Clock()
last_pipe = pygame.time.get_ticks()
running = True
game_active = True
font = pygame.font.SysFont(None, 55)
while running:
screen.fill(SKY_BLUE)
dt = clock.tick(60)
current_time = pygame.time.get_ticks()
# Event handling
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE and game_active:
bird.flap()
if event.key == pygame.K_r and not game_active:
game()
if game_active:
# Update bird
bird.update()
# Generate new pipes
if current_time - last_pipe > PIPE_FREQUENCY:
pipes.append(Pipe())
last_pipe = current_time
# Update and draw pipes
pipes = [p for p in pipes if p.update()]
for pipe in pipes:
pipe.draw()
if pipe.collide(bird):
game_active = False
# Score logic
if pipe.x + pipe.width < bird.x and not pipe.passed:
score += 1
pipe.passed = True
# Draw bird
bird.draw()
# Check if bird hits the ground or flies too high
if bird.y >= HEIGHT or bird.y <= 0:
game_active = False
# Display score
score_text = font.render(f"Score: {score}", True, BLACK)
screen.blit(score_text, (10, 10))
else:
# Game over screen
game_over_text = font.render("Game Over!", True, BLACK)
restart_text = font.render("Press 'R' to Restart", True, BLACK)
screen.blit(game_over_text, (WIDTH // 2 - 90, HEIGHT // 2 - 50))
screen.blit(restart_text, (WIDTH // 2 - 150, HEIGHT // 2 + 10))
pygame.display.update()
# Start the game
game()
```
---
### ๐ฎ How to Play:
- Press **Spacebar** to flap the bird upward.
- Avoid hitting the pipes or the ground.
- When you die, press **'R'** to restart.
---
### โ
Features:
- Gravity and flap mechanics.
- Random pipe generation.
- Collision detection.
- Score tracking.
- Simple graphics using shapes.
---
Let me know if you'd like to add images, sounds, or improve the visuals! ๐ฆ๐จ
"""
~~~
### Generate the model
auto-round>0.5.1
~~~python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from auto_round import AutoRound
model_name = "Qwen/Qwen3-235B-A22B-Instruct-2507"
model = AutoModelForCausalLM.from_pretrained(model_name,
device_map="cpu", torch_dtype="auto")
tokenizer = AutoTokenizer.from_pretrained(model_name)
layer_config = {}
for n, m in model.named_modules():
if n == "lm_head" or isinstance(m,torch.nn.Embedding):
layer_config[n] = {"bits": 8}
elif isinstance(m, torch.nn.Linear) and (not "expert" in n or "shared_experts" in n) and n != "lm_head":
layer_config[n] = {"bits": 4}
autoround = AutoRound(model, tokenizer, iters=0, layer_config=layer_config, nsamples=512)
autoround.quantize_and_save("/models/Qwen3-235B-A22B-Instruct-2507-q2ks", format="gguf:q2_k_s")
~~~
## Ethical Considerations and Limitations
The model can produce factually incorrect output, and should not be relied on to produce factually accurate information. Because of the limitations of the pretrained model and the finetuning datasets, it is possible that this model could generate lewd, biased or otherwise offensive outputs.
Therefore, before deploying any applications of the model, developers should perform safety testing.
## Caveats and Recommendations
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model.
Here are a couple of useful links to learn more about Intel's AI software:
- Intel Neural Compressor [link](https://github.com/intel/neural-compressor)
## Disclaimer
The license on this model does not constitute legal advice. We are not responsible for the actions of third parties who use this model. Please consult an attorney before using this model for commercial purposes.
## Cite
@article{cheng2023optimize, title={Optimize weight rounding via signed gradient descent for the quantization of llms}, author={Cheng, Wenhua and Zhang, Weiwei and Shen, Haihao and Cai, Yiyang and He, Xin and Lv, Kaokao and Liu, Yi}, journal={arXiv preprint arXiv:2309.05516}, year={2023} }
[arxiv](https://arxiv.org/abs/2309.05516) [github](https://github.com/intel/auto-round) |