H100 80GB 2°³ º´·Ä·Î »ç¿ë½Ã ó¸® ¼Óµµ ÀúÇ×

   Á¶È¸ 1893   Ãßõ 0    

안녕하세요

아래 내용 해결을 위해서, 비용을 지불하려고 합니다.

문제 해결이 가능한 분은  연락 주시기 바랍니다.

01*-****-****

대략적인 내용을 설명 드리자면,

HPE  DL380aG11  (2U장비임에도 GPU 4EA 까지 장착 가능) H100 80GB   2EA를 장착 하였습니다.

한개 씩 돌리면 성능이 잘  나오고 있으나 두 개를 동시에 돌리면 처리 속도가 매우 느립니다.

고객이 하드웨어를 의심해서  DL380aG11  이외에  다른   DL380G11 ,   ASUS  4세대  CPU 서버에서 테스트를 하였으나, 결과는  모두 동일 합니다.

GPU 장애는 아닙니다.  저희가  GPU 서버를 많이 납품 하였습니다. 보통 GPU를 사용 하는 고객측에서  소프트웨어에서 수정 해주어서 문제를 해결 하는데...

일단  브릿지로 연결해서 테스트 해보려는데, 결과는 좋지 않을거 같습니다.


그동안   테스트 내용  아래 정리해서 알려 드리니,  해결이 가능할거 같은신분은  연락 주시기 바랍니다.


  • 1.    OS : Ubuntu 22.04.2
  • 2.    CUDA Version : 12. 2
  • 3.    H100 Drive Version : 535.129.03
  • 4.    사용중인 프로그램 : Python 3.11.X
  • 5.   처리 속도 H100 80G * 2EA
  • Llama-3-8B처리시간 : 2.4
  •  
  • H100 80G * 1EA
  • Llama-3-8B 처리 시간 : 0.5초
  •  
  • 비교군 GPU A100 80G
  • A100 80G * 2EA
  • Llama-3-70B 처리 시간 : 2.7초
  •  
  • A100 80G * 1EA
  • Llama-3-8B 처리 시간 : 1.2초
  •  
  • 한 개를 돌렸을때는 H100 GPU가 A100 GPU 보다 2배가 빠른데
  • 2장을 같이 돌렸을 때는 A100 GPU는 2.7초 이고 H100 GPU는 2.4초가 나오고 있습니다.
  •  

테스트 한 코드는 아래와 같습니다.

 

from transformers import AutoTokenizer, AutoModelForCausalLM, TextIteratorStreamer, TextStreamer

import torch

from threading import Thread

import gradio as gr

import time

#import accelerate_speedup

 

torch.manual_seed(42)

 

model_id = "meta-llama/Meta-Llama-3-70B-Instruct"

#model_id = "meta-llama/Meta-Llama-3-8B-Instruct"

 

tokenizer = AutoTokenizer.from_pretrained(model_id)

#max_memory_mapping = {0: "80GB", 1: "80GB"}

model = AutoModelForCausalLM.from_pretrained(

    model_id,

    torch_dtype=torch.bfloat16,

    device_map="auto",

    #device_map="balanced_low_0",

    trust_remote_code=True,

    attn_implementation="flash_attention_2",

    low_cpu_mem_usage=True

    #max_memory=max_memory_mapping

).eval()

 

terminators = [

    tokenizer.eos_token_id,

    tokenizer.convert_tokens_to_ids("<|eot_id|>")

]

 

 

### base inference

def chat(question):

    messages = [

        #{"role": "system", "content": "You are AI chatbot. You are honest, do not harm others, and help users."},

        {"role": "system", "content": "Please try to provide useful, helpful answers."},

        {"role": "user", "content": question},

    ]

   

    input_ids = tokenizer.apply_chat_template(

        messages,

        add_generation_prompt=True,

        return_tensors="pt"

    ).to(model.device, non_blocking=True)

   

    outputs = model.generate(

        input_ids,

        max_new_tokens=1024,

        eos_token_id=terminators,

        do_sample=True,

        temperature=0.05,

        top_p=0.95,

    )

    response = outputs[0][input_ids.shape[-1]:]

    #print(tokenizer.decode(response, skip_special_tokens=True))

    return tokenizer.decode(response, skip_special_tokens=True)

 

 

response_times = []

for _ in range(100):

    start_time = time.time()

    #tmp = chat('hello.')

    tmp = chat('hello!')

    #tmp = chat('Testing. Please answer in 10,000 characters.')

    end_time = time.time()

    print((end_time - start_time))

    response_times.append(end_time - start_time)

 

print(f"Average Response Time: {sum(response_times) / len(response_times):.2f} seconds")

 


ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
¼úÀÌ 06-11
°°Àº CPU ·¹Àο¡ ²Å¾Æ¼­ 8¹è¼ÓÀ¸·Î ÂÉ°³Áø°Ô ¾Æ´Ò±î »ý°¢µå´Âµ¥...
°¢°¢ CPU°¡ ¹èÁ¤µÈ ÀͽºÇÁ·¹½º ½½·Ô¿¡ ÀåÂøÇÑ°ÇÁö°¡ °ü°ÇÀÏ°Å °°¾Æ¿ä.
À§ÀÇ Äڵ带 Å×½ºÆ® ÇÒ ¼ö Àִ ȯ°æÀÌ ¾Æ´Ï°í, µö·¯´×¿¡¼­ ¼Õ ¶©Áö ¿À·¡µÇ¾î¼­ ±×³É ´À³¦À¸·Î ºÃ½À´Ï´Ù.

Á¦ °æÇè¿¡ ¸î¸î ÆĶó¹ÌÅÍ ¼³Á¤À» º¯°æÇÏ´Â °ÍÀ» ÁÖ¼®Ã³¸® ¿©ºÎ·Î¸¸ ÇÒ °æ¿ì ½Ç¼öÇÏ´Â °æ¿ì°¡ ¸¹¾Ò½À´Ï´Ù.
for ¹®À¸·Î µ¹¸®¸é ÀÌÀü º¯¼ö°ªÀÌ ³²¾Æ ÀÖ¾î ¿À·ù°¡ ³ª´Â °æ¿ìµµ ¸¹±¸¿ä.

À§ÀÇ Äڵ嵵 º¸¸é device_map°ú max_memory ºÎºÐÀÌ ÁÖ¼® 󸮸¦ º¯°æÇϸ鼭 Å×½ºÆ®ÇÏ´Â °ÍÀ¸·Î º¸ÀÔ´Ï´Ù.

´Ù¾çÇÑ Á¶°Ç¿¡¼­ ÃÊ´ÜÀ§·Î ¼º´ÉÀ» Æò°¡ÇØ¾ß ÇÏ´Â »óȲÀ̶ó¸é, ÇØ´ç ¼³Á¤ ºÎºÐ¸¸ Á¤È®ÇÏ°Ô ¼öÁ¤ÇÑ ÆÄÀÏ 4°³¸¦ ¸¸µé¾î¼­ È®ÀÎÇØ º¸´Â °ÍÀÌ ÁÁÀ» °Í °°½À´Ï´Ù.

´ëºÎºÐ °á°ú°¡ 3ÃÊ À̳»¿¡ ³ª¿À¸é nvidia-smi µîÀ¸·Î GPU »óŸ¦ º¼ ¶§¿¡ ½Ã°£ÀÌ ³Ê¹« ª±â ¶§¹®¿¡ ´õ ±ä ½Ã°£ µ¿¾È Å×½ºÆ® ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀÌ ÁÁÀ» °Í °°½À´Ï´Ù.
°ËÀºÄá 06-12
Vllm Å×½ºÆ®Çغ¸½ÃÁÒ


QnA
Á¦¸ñPage 5264/5686
2014-05   4978562   Á¤ÀºÁØ1
2015-12   1514691   ¹é¸Þ°¡
2021-06   1893   À̳ªÀ±1996
2020-05   1893   ±¸½ÊÆò
2022-10   1893   ¾öû³­x
2023-01   1893   DualPort
2022-04   1893   sdlfkjwer
2021-12   1892   Sikieiki
2023-03   1892   Æ÷½ºÅ¸
2021-05   1892   ±è¿µ±â
2023-03   1892   ÇÑÈ¿¼®
2020-06   1892   ÇູÇÑÁ¦ÁÖ¡¦
2023-06   1892   µµÀ¯
2021-11   1892   °í¾ç½Ã
2023-05   1892   À̸ŸÁ·®2
2022-09   1892   kochung
2021-12   1892   startserver
2022-05   1892   hdsniper
2023-01   1891   ¿ä¸¦·¹ÀÌ
2021-05   1891   gowork
2023-08   1891   Ȧ¸¯0o0
2021-06   1891   ¹Ú¹®Çü