AI

langchain agent로 사용할 때 llm 모델들 테스트

성난붱이 2024. 7. 15. 22:32

 

 

 

 

https://github.com/akswnd98/langchain-agent-test

 

GitHub - akswnd98/langchain-agent-test

Contribute to akswnd98/langchain-agent-test development by creating an account on GitHub.

github.com

 

다음 4가지 방식을 테스트 해 보았다.

1. llama-3-8b-it

2. llama-3-8b-it lora fintuned with xz56/react-llama dataset (https://huggingface.co/datasets/xz56/react-llama)

3. gemma-2-9b-it

4. gemma-2-27b-it 4bit quantized (https://huggingface.co/bartowski/gemma-2-27b-it-GGUF)

(Phi-3 모델은 테스트 하지 않았다. 왜냐하면 로컬에 모델을 다운 받았는데도 사용하려면 리모트 연결이 필요하다고 해서...)

 

나의 개인적인 채감상 4 >>> 3 >>> 2 > 1 이었다.

4가지 모델 모두 chat format 위에서 react format을 따르는 방식으로 agent를 구성했다.

확실히 4 bit 양자화가 되었지만 27b 모델은 엄청났다.

그리고 전반적으로 gemma 2가 llama 3 보다 훨씬 성능이 좋았다.

 

추론시에 gemma-2-27b-it 4bit quantized의 vram 소모량은 17gb 정도 되었다.

 

2024년 7월 15일 기준으로

개인용 사무자동화 local 환경 구축 용도로는 24gb 그래픽카드에 gemma-2-27b-it 4bit quantized 조합이 가장 좋을 것 같다.

 

그리고 솔직히 9b나 8b 정도 사이즈 모델들은 쓸만한 정도가 못 되었다.

finetuning을 하면 조금 나아지지만 간간히 할루시네이션이 발생한다.

특히 llama-3-8b-it는 할루시네이션이 심각하다.

react format으로 리턴할 때 thought, input, input action, final answer로 리턴하는 할루시네이션은 fine tuning 이후에도 사라지지 않았다.

 

이번 test를 진행하면서 느낀 것은 llm은 "능지익선"이라는 것이다.

일단 좋은 llm을 쓰는 게 이득.

 

(생각해보니 temprature를 default로 둬서 할루시네이션이 발생했던 거 같기도 하다. 나중에 temprature 0으로 시도해보자.)