nm-research commited on
Commit
0114da0
·
verified ·
1 Parent(s): 35bb327

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +336 -1
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["baseion"] + "\n" + example["output"]
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
+