ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 논문 리뷰) Mistral 7B
    AI 논문 리뷰 2024. 5. 25. 14:00

    Mistral AI는 파리에 본사를 두고 Google의 DeepMind와 Meta 출신이 공동 창립한 스타트업이다.

    Mixtral 8 x 7B 모델로 우리에게 많이 알려졌는데, 그 기본이 되는 Mistral 7B 모델을 먼저 알아보고
    Mixtral 8 x 7B 모델에 대해 리뷰하고자 한다. Mixtral 8 x 7B로 이동

     

    [주요 특징]

    - Mistral AI에서 만든 Mistral 7B 모델이 LLama2 13B보다 좋은 성능을 보임.
    - GQA, SWA, Rolling Buffer Cache (+Pre-fill and Chunking)를 통해 빠른 추론을 가능케함.

       (해당 기법들을 주로 H/W 최적화에 초점이 맞춰져있음) 
    - instruction fine-tuning된 모델 Mistral 7B - Instuct도 LLama2 13B를 능가
    - LLama2를 경쟁 모델로 주요 경쟁 모델로 삼고, '속도'와 '성능'에서 우위를 주장.

     

    [2. Architecture Detail]

    1) Sliding Window Attention : 
    Vanilla Attention은 문장의 길이의 제곱에 해당하는 계산량을 요구받고, 
    메모리 사용량은 문장의 길이에 선형 비례한다.
    따라서, Latency와 메모리 이슈가 생긴다.

    Sliding Window를 사용하면,
    window size가 제한되어 있기 때문에, 계산량과 메모리 문제가 해결되며 
    결국 최상위 레이어에도 전체 입력에 대한 정보를 제공받기때문에 정보 손실이 적다.

    Figure 1
    Figure 1




    2) Rolling Buffer Cache :
    cache size에 제한을 두고, fixed size (W) 이상이 되었을 경우,

    가장 먼저 추가되었던 캐시의 자리에 덮어 씌우는 방식.

    figure 1은 '캐시 크기 = 4'일 때의 예시로, 고정된 4 캐시 크기를 사용한다. 
    캐시에 자리가 없을 경우 가장 먼저 추가됐던 캐시의 자리에 덮어쓴다.

    Figure 2
    Figure 2

     

     

    3) Pre-fill and Chunking : 
    prompt를 알고 있으므로 문장을 채워넣고 chunk 단위로 나눠주면, 
    chunk 사이즈로써 자동적으로 (sling window attention을 위한) window size를 지정할 수 있게됨.

    Figure 3
    Figure 3

     

     

    4) GQA(Group-Query Attention) : 

    LLama2에도 적용된 GQA를 적용.

    (GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints 

    라는 논문에서 제안)

    - MHA : Naive Transformer 
    - MQA : 캐시/메모리 사용량 감소 (대신 성능 저하)
    - GQA : MHA와 MQA 사이의 유리한 Trade-off

    MHA, MQA, GQA
    출처 : https://kimjy99.github.io/%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0/gqa/

     

     

    [3. Result]

    Mistral 7B는 LLama2 7B, 13B에 대해 모든 Benchmark에서 좋은 성능을 보임

    추론, 이해, STEM 추론(MMLU 같은)에서 Llama 2와 비교하여 
    3배 이상 작은 사이즈로 더 좋은 성능을 보여줌

    Figure 4
    Figure 4

     

    [4. Instruction]

    허깅 페이스에서 공개적으로 이용가능한 instruction 데이터셋으로 파인튜닝함.
    Mistral 7B - instruct 모델은 LLama2 13B 모델과 견줄만한 수준이다.

    Table 2
    Table 2

     

     

    [5. Adding 'guardrails' for front-facing applications]

    Guardrail(가드레일)에 대한 실험이 제법 흥미로웠는데, 

     

    여기서 가드레일이란,

    Content moderation is the process of reviewing and monitoring user-generated content on online platforms to ensure that it meets certain standards and guidelines. 

    즉, 생성된 컨텐츠가 가이드라인을 만족하는지를 모니터링하는 프로세스를 지칭한다.

     

    아래의 system prompt로, 'guardrail'(LLM이 safety를 고려하여 답변하게하는)을 테스트하였고,
    175개의 unsafe한 prompt로 실험에서 100% 거절(Guardrail 작동)하는 것 확인.

     

    Table 5를 보면, 
    LLama2는 kill이라는 단어에 반응하여, system prompt로 설정해둔 guideline이 작동하였으나, (오동작)
    반연에 Mistral은 kill Linux라는 문맥을 이해하고, guideline 미작동시켰다고 말한다. (정상)

     

    해당 실험을 통해

    Mistral 7B - Instruct 모델은 content moderator로도 사용될 수 있다. 고 주장한다.

    자신의 모델이 user prompt가 유해한 것인지, 정상적인 것인지를 잘 구분해 낸다. 라고 표현한다. 

    (하지만, 충분히 자신의 모델에 유리하게 Prompt Cheating이 가능해보인다)

    Table 5
    Table 5

    728x90
Designed by Tistory.