File size: 8,388 Bytes
9031c8c 0fc06d4 9031c8c 0fc06d4 9031c8c |
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 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 |
---
license: apache-2.0
base_model:
- Qwen/Qwen3-Coder-480B-A35B-Instruct
datasets:
- codeparrot/github-code-clean
---
## Model Details
This model is a mixed gguf q2ks format of [Qwen/Qwen3-Coder-480B-A35B-Instruct](https://huggingface.co/Qwen/Qwen3-Coder-480B-A35B-Instruct) 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.
Please follow the license of the original model.
## How To Use
Llamacpp inference
~~~bash
/llama-cli -hf Intel/Qwen3-Coder-480B-A35B-Instruct-gguf-q2ks-mixed-AutoRound:q2_k_s --conversation
~~~
~~~ba
> code a flappy bird in python
Here's a complete Flappy Bird implementation using Pygame:
```python
import pygame
import random
import sys
# Initialize pygame
pygame.init()
# Game constants
WIDTH, HEIGHT = 400, 600
FPS = 60
GRAVITY = 0.5
JUMP = -10
PIPE_SPEED = 3
PIPE_GAP = 150
PIPE_FREQUENCY = 1500 # milliseconds
# Colors
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 100, 255)
# Create game window
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Flappy Bird")
clock = pygame.time.Clock()
# Font
font = pygame.font.SysFont(None, 36)
class Bird:
def __init__(self):
self.x = 50
self.y = HEIGHT // 2
self.velocity = 0
self.radius = 15
def jump(self):
self.velocity = JUMP
def update(self):
self.velocity += GRAVITY
self.y += self.velocity
def draw(self):
pygame.draw.circle(screen, BLUE, (self.x, int(self.y)), self.radius)
def get_rect(self):
return pygame.Rect(
self.x - self.radius,
self.y - self.radius,
self.radius * 2,
self.radius * 2
)
class Pipe:
def __init__(self):
self.x = WIDTH
self.height = random.randint(50, HEIGHT - PIPE_GAP - 50)
self.width = 50
self.passed = False
def update(self):
self.x -= PIPE_SPEED
def draw(self):
# Top pipe
pygame.draw.rect(screen, GREEN, (self.x, 0, self.width, self.height))
# Bottom pipe
pygame.draw.rect(screen, GREEN, (self.x, self.height + PIPE_GAP, self.width, HEIGHT))
def collide(self, bird):
bird_rect = bird.get_rect()
top_pipe = pygame.Rect(self.x, 0, self.width, self.height)
bottom_pipe = pygame.Rect(self.x, self.height + PIPE_GAP, self.width, HEIGHT)
return bird_rect.colliderect(top_pipe) or bird_rect.colliderect(bottom_pipe)
def off_screen(self):
return self.x < -self.width
def draw_ground():
pygame.draw.line(screen, BLACK, (0, HEIGHT - 50), (WIDTH, HEIGHT - 50), 5)
def main():
bird = Bird()
pipes = []
score = 0
last_pipe = pygame.time.get_ticks()
game_over = False
while True:
# 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:
if game_over:
# Restart game
bird = Bird()
pipes = []
score = 0
last_pipe = pygame.time.get_ticks()
game_over = False
else:
bird.jump()
if not game_over:
# Update bird
bird.update()
# Generate new pipes
current_time = pygame.time.get_ticks()
if current_time - last_pipe > PIPE_FREQUENCY:
pipes.append(Pipe())
last_pipe = current_time
# Update pipes and check for score
for pipe in pipes:
pipe.update()
if not pipe.passed and pipe.x < bird.x:
pipe.passed = True
score += 1
# Remove off-screen pipes
pipes = [pipe for pipe in pipes if not pipe.off_screen()]
# Check collisions
if bird.y > HEIGHT - 50 - bird.radius or bird.y < bird.radius:
game_over = True
for pipe in pipes:
if pipe.collide(bird):
game_over = True
# Draw everything
screen.fill(WHITE)
for pipe in pipes:
pipe.draw()
bird.draw()
draw_ground()
# Draw score
score_text = font.render(f"Score: {score}", True, BLACK)
screen.blit(score_text, (10, 10))
# Draw game over message
if game_over:
game_over_text = font.render("Game Over! Press SPACE to restart", True, BLACK)
screen.blit(game_over_text, (WIDTH//2 - game_over_text.get_width()//2, HEIGHT//2))
pygame.display.flip()
clock.tick(FPS)
if __name__ == "__main__":
main()
```
### Features:
1. **Bird Physics**:
- Gravity pulls the bird down
- Space bar makes the bird jump upward
2. **Pipe System**:
- Pipes generate randomly with gaps
- Pipes move from right to left
- Collision detection with bird
3. **Scoring**:
- Score increases when bird passes through pipes
- Displayed at top-left of screen
4. **Game States**:
- Active gameplay
- Game over screen with restart option
### Controls:
- **SPACE**: Jump (during gameplay) / Restart (after game over)
### Requirements:
- Python 3.x
- Pygame (`pip install pygame`)
### Game Mechanics:
1. The bird automatically falls due to gravity
2. Players must press SPACE to make the bird jump
3. Avoid hitting pipes or the ground
4. Each pipe passed increases the score by 1
5. When game over occurs, press SPACE to restart
This implementation includes all core Flappy Bird mechanics in a single file with minimal dependencies. The game features smooth animations, collision detection, and score tracking.
~~~
### Generate the model
Here is the sample command to reproduce the model
```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from auto_round import AutoRound
model_name = "Qwen/Qwen3-Coder-480B-A35B-Instruct"
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, dataset="github-code-clean")
autoround.quantize_and_save("./Qwen3-Coder-480B-A35B-Instruct-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) |