nm-research
commited on
Update README.md
Browse files
README.md
CHANGED
@@ -110,7 +110,7 @@ ds = load_dataset(DATASET_ID, split=DATASET_SPLIT)
|
|
110 |
ds = ds.shuffle(seed=42).select(range(NUM_CALIBRATION_SAMPLES))
|
111 |
|
112 |
def preprocess(example):
|
113 |
-
concat_txt = example["
|
114 |
return {"text": concat_txt}
|
115 |
|
116 |
ds = ds.map(preprocess)
|
@@ -275,3 +275,338 @@ evalplus.evaluate \
|
|
275 |
---
|
276 |
|
277 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
ds = ds.shuffle(seed=42).select(range(NUM_CALIBRATION_SAMPLES))
|
111 |
|
112 |
def preprocess(example):
|
113 |
+
concat_txt = example["Instruction"] + "\n" + example["output"]
|
114 |
return {"text": concat_txt}
|
115 |
|
116 |
ds = ds.map(preprocess)
|
|
|
275 |
---
|
276 |
|
277 |
|
278 |
+
## Inference Performance
|
279 |
+
|
280 |
+
|
281 |
+
This model achieves up to 2.7x speedup in single-stream deployment and up to 1.5x speedup in multi-stream asynchronous deployment, depending on hardware and use-case scenario.
|
282 |
+
The following performance benchmarks were conducted with [vLLM](https://docs.vllm.ai/en/latest/) version 0.6.6.post1, and [GuideLLM](https://github.com/neuralmagic/guidellm).
|
283 |
+
|
284 |
+
<details>
|
285 |
+
<summary>Benchmarking Command</summary>
|
286 |
+
|
287 |
+
```
|
288 |
+
guidellm --model neuralmagic/granite-3.1-8b-base-quantized.w4a16 --target "http://localhost:8000/v1" --data-type emulated --data "prompt_tokens=<prompt_tokens>,generated_tokens=<generated_tokens>" --max seconds 360 --backend aiohttp_server
|
289 |
+
```
|
290 |
+
|
291 |
+
</details>
|
292 |
+
|
293 |
+
### Single-stream performance (measured with vLLM version 0.6.6.post1)
|
294 |
+
<table>
|
295 |
+
<tr>
|
296 |
+
<td></td>
|
297 |
+
<td></td>
|
298 |
+
<td></td>
|
299 |
+
<th style="text-align: center;" colspan="7" >Latency (s)</th>
|
300 |
+
</tr>
|
301 |
+
<tr>
|
302 |
+
<th>GPU class</th>
|
303 |
+
<th>Model</th>
|
304 |
+
<th>Speedup</th>
|
305 |
+
<th>Code Completion<br>prefill: 256 tokens<br>decode: 1024 tokens</th>
|
306 |
+
<th>Docstring Generation<br>prefill: 768 tokens<br>decode: 128 tokens</th>
|
307 |
+
<th>Code Fixing<br>prefill: 1024 tokens<br>decode: 1024 tokens</th>
|
308 |
+
<th>RAG<br>prefill: 1024 tokens<br>decode: 128 tokens</th>
|
309 |
+
<th>Instruction Following<br>prefill: 256 tokens<br>decode: 128 tokens</th>
|
310 |
+
<th>Multi-turn Chat<br>prefill: 512 tokens<br>decode: 256 tokens</th>
|
311 |
+
<th>Large Summarization<br>prefill: 4096 tokens<br>decode: 512 tokens</th>
|
312 |
+
</tr>
|
313 |
+
<tr>
|
314 |
+
<td style="vertical-align: middle;" rowspan="3" >A5000</td>
|
315 |
+
<td>granite-3.1-8b-base</td>
|
316 |
+
<td></td>
|
317 |
+
<td>28.3</td>
|
318 |
+
<td>3.7</td>
|
319 |
+
<td>28.8</td>
|
320 |
+
<td>3.8</td>
|
321 |
+
<td>3.6</td>
|
322 |
+
<td>7.2</td>
|
323 |
+
<td>15.7</td>
|
324 |
+
</tr>
|
325 |
+
<tr>
|
326 |
+
<td>granite-3.1-8b-base-quantized.w8a8</td>
|
327 |
+
<td>1.60</td>
|
328 |
+
<td>17.7</td>
|
329 |
+
<td>2.3</td>
|
330 |
+
<td>18.0</td>
|
331 |
+
<td>2.4</td>
|
332 |
+
<td>2.2</td>
|
333 |
+
<td>4.5</td>
|
334 |
+
<td>10.0</td>
|
335 |
+
</tr>
|
336 |
+
<tr>
|
337 |
+
<td>granite-3.1-8b-base-quantized.w4a16<br>(this model)</td>
|
338 |
+
<td>2.61</td>
|
339 |
+
<td>10.3</td>
|
340 |
+
<td>1.5</td>
|
341 |
+
<td>10.7</td>
|
342 |
+
<td>1.5</td>
|
343 |
+
<td>1.3</td>
|
344 |
+
<td>2.7</td>
|
345 |
+
<td>6.6</td>
|
346 |
+
</tr>
|
347 |
+
<tr>
|
348 |
+
<td style="vertical-align: middle;" rowspan="3" >A6000</td>
|
349 |
+
<td>granite-3.1-8b-base</td>
|
350 |
+
<td></td>
|
351 |
+
<td>25.8</td>
|
352 |
+
<td>3.4</td>
|
353 |
+
<td>26.2</td>
|
354 |
+
<td>3.4</td>
|
355 |
+
<td>3.3</td>
|
356 |
+
<td>6.5</td>
|
357 |
+
<td>14.2</td>
|
358 |
+
</tr>
|
359 |
+
<tr>
|
360 |
+
<td>granite-3.1-8b-base-quantized.w8a8</td>
|
361 |
+
<td>1.50</td>
|
362 |
+
<td>17.4</td>
|
363 |
+
<td>2.3</td>
|
364 |
+
<td>16.9</td>
|
365 |
+
<td>2.2</td>
|
366 |
+
<td>2.2</td>
|
367 |
+
<td>4.4</td>
|
368 |
+
<td>9.8</td>
|
369 |
+
</tr>
|
370 |
+
<tr>
|
371 |
+
<td>granite-3.1-8b-base-quantized.w4a16<br>(this model)</td>
|
372 |
+
<td>2.48</td>
|
373 |
+
<td>10.0</td>
|
374 |
+
<td>1.4</td>
|
375 |
+
<td>10.4</td>
|
376 |
+
<td>1.5</td>
|
377 |
+
<td>1.3</td>
|
378 |
+
<td>2.5</td>
|
379 |
+
<td>6.2</td>
|
380 |
+
</tr>
|
381 |
+
<tr>
|
382 |
+
<td style="vertical-align: middle;" rowspan="3" >A100</td>
|
383 |
+
<td>granite-3.1-8b-base</td>
|
384 |
+
<td></td>
|
385 |
+
<td>13.6</td>
|
386 |
+
<td>1.8</td>
|
387 |
+
<td>13.7</td>
|
388 |
+
<td>1.8</td>
|
389 |
+
<td>1.7</td>
|
390 |
+
<td>3.4</td>
|
391 |
+
<td>7.3</td>
|
392 |
+
</tr>
|
393 |
+
<tr>
|
394 |
+
<td>granite-3.1-8b-base-quantized.w8a8</td>
|
395 |
+
<td>1.31</td>
|
396 |
+
<td>10.4</td>
|
397 |
+
<td>1.3</td>
|
398 |
+
<td>10.5</td>
|
399 |
+
<td>1.4</td>
|
400 |
+
<td>1.3</td>
|
401 |
+
<td>2.6</td>
|
402 |
+
<td>5.6</td>
|
403 |
+
</tr>
|
404 |
+
<tr>
|
405 |
+
<td>granite-3.1-8b-base-quantized.w4a16<br>(this model)</td>
|
406 |
+
<td>1.80</td>
|
407 |
+
<td>7.3</td>
|
408 |
+
<td>1.0</td>
|
409 |
+
<td>7.4</td>
|
410 |
+
<td>1.0</td>
|
411 |
+
<td>0.9</td>
|
412 |
+
<td>1.9</td>
|
413 |
+
<td>4.3</td>
|
414 |
+
</tr>
|
415 |
+
<tr>
|
416 |
+
<td style="vertical-align: middle;" rowspan="3" >L40</td>
|
417 |
+
<td>granite-3.1-8b-base</td>
|
418 |
+
<td></td>
|
419 |
+
<td>25.1</td>
|
420 |
+
<td>3.2</td>
|
421 |
+
<td>25.3</td>
|
422 |
+
<td>3.2</td>
|
423 |
+
<td>3.2</td>
|
424 |
+
<td>6.3</td>
|
425 |
+
<td>13.4</td>
|
426 |
+
</tr>
|
427 |
+
<tr>
|
428 |
+
<td>granite-3.1-8b-base-FP8-dynamic</td>
|
429 |
+
<td>1.47</td>
|
430 |
+
<td>16.8</td>
|
431 |
+
<td>2.2</td>
|
432 |
+
<td>17.1</td>
|
433 |
+
<td>2.2</td>
|
434 |
+
<td>2.1</td>
|
435 |
+
<td>4.2</td>
|
436 |
+
<td>9.3</td>
|
437 |
+
</tr>
|
438 |
+
<tr>
|
439 |
+
<td>granite-3.1-8b-base-quantized.w4a16<br>(this model)</td>
|
440 |
+
<td>2.72</td>
|
441 |
+
<td>8.9</td>
|
442 |
+
<td>1.2</td>
|
443 |
+
<td>9.2</td>
|
444 |
+
<td>1.2</td>
|
445 |
+
<td>1.1</td>
|
446 |
+
<td>2.3</td>
|
447 |
+
<td>5.3</td>
|
448 |
+
</tr>
|
449 |
+
</table>
|
450 |
+
|
451 |
+
|
452 |
+
### Multi-stream asynchronous performance (measured with vLLM version 0.6.6.post1)
|
453 |
+
<table>
|
454 |
+
<tr>
|
455 |
+
<td></td>
|
456 |
+
<td></td>
|
457 |
+
<td></td>
|
458 |
+
<th style="text-align: center;" colspan="7" >Maximum Throughput (Queries per Second)</th>
|
459 |
+
</tr>
|
460 |
+
<tr>
|
461 |
+
<th>GPU class</th>
|
462 |
+
<th>Model</th>
|
463 |
+
<th>Speedup</th>
|
464 |
+
<th>Code Completion<br>prefill: 256 tokens<br>decode: 1024 tokens</th>
|
465 |
+
<th>Docstring Generation<br>prefill: 768 tokens<br>decode: 128 tokens</th>
|
466 |
+
<th>Code Fixing<br>prefill: 1024 tokens<br>decode: 1024 tokens</th>
|
467 |
+
<th>RAG<br>prefill: 1024 tokens<br>decode: 128 tokens</th>
|
468 |
+
<th>Instruction Following<br>prefill: 256 tokens<br>decode: 128 tokens</th>
|
469 |
+
<th>Multi-turn Chat<br>prefill: 512 tokens<br>decode: 256 tokens</th>
|
470 |
+
<th>Large Summarization<br>prefill: 4096 tokens<br>decode: 512 tokens</th>
|
471 |
+
</tr>
|
472 |
+
<tr>
|
473 |
+
<td style="vertical-align: middle;" rowspan="3" >A5000</td>
|
474 |
+
<td>granite-3.1-8b-base</td>
|
475 |
+
<td></td>
|
476 |
+
<td>0.8</td>
|
477 |
+
<td>3.1</td>
|
478 |
+
<td>0.4</td>
|
479 |
+
<td>2.5</td>
|
480 |
+
<td>6.7</td>
|
481 |
+
<td>2.7</td>
|
482 |
+
<td>0.3</td>
|
483 |
+
</tr>
|
484 |
+
<tr>
|
485 |
+
<td>granite-3.1-8b-base-quantized.w8a8</td>
|
486 |
+
<td>1.71</td>
|
487 |
+
<td>1.3</td>
|
488 |
+
<td>5.2</td>
|
489 |
+
<td>0.9</td>
|
490 |
+
<td>4.0</td>
|
491 |
+
<td>10.5</td>
|
492 |
+
<td>4.4</td>
|
493 |
+
<td>0.5</td>
|
494 |
+
</tr>
|
495 |
+
<tr>
|
496 |
+
<td>granite-3.1-8b-base-quantized.w4a16<br>(this model)</td>
|
497 |
+
<td>1.46</td>
|
498 |
+
<td>1.3</td>
|
499 |
+
<td>3.9</td>
|
500 |
+
<td>0.8</td>
|
501 |
+
<td>2.9</td>
|
502 |
+
<td>8.2</td>
|
503 |
+
<td>3.6</td>
|
504 |
+
<td>0.5</td>
|
505 |
+
</tr>
|
506 |
+
<tr>
|
507 |
+
<td style="vertical-align: middle;" rowspan="3" >A6000</td>
|
508 |
+
<td>granite-3.1-8b-base</td>
|
509 |
+
<td></td>
|
510 |
+
<td>1.3</td>
|
511 |
+
<td>5.1</td>
|
512 |
+
<td>0.9</td>
|
513 |
+
<td>4.0</td>
|
514 |
+
<td>0.3</td>
|
515 |
+
<td>4.3</td>
|
516 |
+
<td>0.6</td>
|
517 |
+
</tr>
|
518 |
+
<tr>
|
519 |
+
<td>granite-3.1-8b-base-quantized.w8a8</td>
|
520 |
+
<td>1.39</td>
|
521 |
+
<td>1.8</td>
|
522 |
+
<td>7.0</td>
|
523 |
+
<td>1.3</td>
|
524 |
+
<td>5.6</td>
|
525 |
+
<td>14.0</td>
|
526 |
+
<td>6.3</td>
|
527 |
+
<td>0.8</td>
|
528 |
+
</tr>
|
529 |
+
<tr>
|
530 |
+
<td>granite-3.1-8b-base-quantized.w4a16<br>(this model)</td>
|
531 |
+
<td>1.09</td>
|
532 |
+
<td>1.9</td>
|
533 |
+
<td>4.8</td>
|
534 |
+
<td>1.0</td>
|
535 |
+
<td>3.8</td>
|
536 |
+
<td>10.0</td>
|
537 |
+
<td>5.0</td>
|
538 |
+
<td>0.6</td>
|
539 |
+
</tr>
|
540 |
+
<tr>
|
541 |
+
<td style="vertical-align: middle;" rowspan="3" >A100</td>
|
542 |
+
<td>granite-3.1-8b-base</td>
|
543 |
+
<td></td>
|
544 |
+
<td>3.1</td>
|
545 |
+
<td>10.7</td>
|
546 |
+
<td>2.1</td>
|
547 |
+
<td>8.5</td>
|
548 |
+
<td>20.6</td>
|
549 |
+
<td>9.6</td>
|
550 |
+
<td>1.4</td>
|
551 |
+
</tr>
|
552 |
+
<tr>
|
553 |
+
<td>granite-3.1-8b-base-quantized.w8a8</td>
|
554 |
+
<td>1.23</td>
|
555 |
+
<td>3.8</td>
|
556 |
+
<td>14.2</td>
|
557 |
+
<td>2.1</td>
|
558 |
+
<td>11.4</td>
|
559 |
+
<td>25.9</td>
|
560 |
+
<td>12.1</td>
|
561 |
+
<td>1.7</td>
|
562 |
+
</tr>
|
563 |
+
<tr>
|
564 |
+
<td>granite-3.1-8b-base-quantized.w4a16<br>(this model)</td>
|
565 |
+
<td>0.96</td>
|
566 |
+
<td>3.4</td>
|
567 |
+
<td>9.0</td>
|
568 |
+
<td>2.6</td>
|
569 |
+
<td>7.2</td>
|
570 |
+
<td>18.0</td>
|
571 |
+
<td>8.8</td>
|
572 |
+
<td>1.3</td>
|
573 |
+
</tr>
|
574 |
+
<tr>
|
575 |
+
<td style="vertical-align: middle;" rowspan="3" >L40</td>
|
576 |
+
<td>granite-3.1-8b-base</td>
|
577 |
+
<td></td>
|
578 |
+
<td>1.4</td>
|
579 |
+
<td>7.8</td>
|
580 |
+
<td>1.1</td>
|
581 |
+
<td>6.2</td>
|
582 |
+
<td>15.5</td>
|
583 |
+
<td>6.0</td>
|
584 |
+
<td>0.7</td>
|
585 |
+
</tr>
|
586 |
+
<tr>
|
587 |
+
<td>granite-3.1-8b-base-FP8-dynamic</td>
|
588 |
+
<td>1.12</td>
|
589 |
+
<td>2.1</td>
|
590 |
+
<td>7.4</td>
|
591 |
+
<td>1.3</td>
|
592 |
+
<td>5.9</td>
|
593 |
+
<td>15.3</td>
|
594 |
+
<td>6.9</td>
|
595 |
+
<td>0.8</td>
|
596 |
+
</tr>
|
597 |
+
<tr>
|
598 |
+
<td>granite-3.1-8b-base-quantized.w4a16<br>(this model)</td>
|
599 |
+
<td>1.29</td>
|
600 |
+
<td>2.4</td>
|
601 |
+
<td>8.9</td>
|
602 |
+
<td>1.4</td>
|
603 |
+
<td>7.1</td>
|
604 |
+
<td>17.8</td>
|
605 |
+
<td>7.8</td>
|
606 |
+
<td>1.0</td>
|
607 |
+
</tr>
|
608 |
+
</table>
|
609 |
+
|
610 |
+
|
611 |
+
|
612 |
+
|