본문 바로가기

A.I./구현9

llama.cpp를 설치하여 Ubuntu 서버에서 llama-2 경량모델을 실행해보자 GPT-3.5나 GPT-4에 비하여 파라미터 수가 훨씬 적은 Llama-2 모델이지만, 여전히 로컬 환경이나 vRAM 크기가 작은 GPU로 실행하기에는 쉽지 않다. 다행히 가중치 양자화(quantization)를 비롯한 대규모 언어모델의 경량화 연구도 활발하게 이뤄지고 있고, 이에 따라 오픈소스 언어모델들의 양자화된 모델들이 GPTQ 또는 GGML 포맷으로 공개되고 있다. llama.cpp 레포는 Llama 모델의 추론 프로세스를 순수한 C/C++로 구현한 프로젝트로서, 맥북에서 4-bit quantized LLaMA 모델을 실행하는 것을 목표로 한다. 그러나 Windows나 Linux 등 다양한 플랫폼에서도 사용 가능하고, 점차 많은 모델들을 지원해 나가고 있으며, 여러 프로그래밍 언어로의 바인딩도 함.. 2023. 9. 26.
간단한 얼굴 인식 웹 애플리케이션을 만들어보자. 이 글은 How to Develop a Face Recognition System Using FaceNet in Keras 를 참고하여, 업로드한 이미지에서 얼굴을 인식하는 간단한 웹 애플리케이션을 구현한다. 얼굴 인식(Face Recognition)은 이미지나 영상 안의 인물이 누구인지를 판별해주는 작업으로서, 데이터베이스나 시스템에는 미리 판별 가능한 인물에 대한 정보가 필요하다. 이번 작업에서는 러블리즈 멤버들에 대한 판별기를 학습시킨 뒤에, 인식모델을 서빙하는 API와 이를 활용하는 웹 페이지를 만든다. ▶ 실행 코드 : [hayunjong83/lovelyzDetector] 1. MTCNN을 사용한 Face Detection 우선, 이미지에서 얼굴 영역을 찾아야 한다. 앞으로 우리는 FaceNet.. 2021. 10. 28.
Captum을 이용해서 model interpretability를 살펴보자. PyTorch 공식 홈페이지의 예제 중에는 Captum 라이브러리를 활용하여 예측 결과를 시각화하는 예제가 있다. 입력으로 사용된 원본 이미지에서 활성화되는 부분을 시각화 하는 것은 모델의 이해를 위해 매우 중요한 작업이다. CAM(Class Activation Map), Grad-CAM 등 부터 근래에 발표된 Integrated Gradient 까지 pixel attribution method 들을 이용하는 것은 이러한 이유라고 볼 수 있다. 페이스북이 개발한 Captum은 PyTorch로 구현된 NLP모델이나 컴퓨터 비전 모델의 예측 결과를 이해하도록 돕는 오픈소스 라이브러리다. 위에서 언급한 pixel attribution method 들을 적용하는 통일된 방법을 제공하기 때문에 pytorch로 구.. 2021. 9. 17.
PyTorch 컴퓨터 비전 전이학습 예제를 따라해보자. 이번 포스팅에서는 PyTorch 공식 페이지의 예제인 Transfer Learning for Computer Vision Tutorial을 따라해본다. 친절하게 설명된 양질의 글이 넘치는 세상에서 부족한 글을 쓰는 것은 항상 부끄럽지만, 더 좋은 글을 읽기 위해 훑어 볼 글 정도로 여겨졌으면 좋겠다. 예제에서 설명되고 있는 전이학습(transfer learning)은 이미 대규모 데이터셋에서 훈련된 모델(pre-trained model)에서 출발하여 자신이 해결하려는 작업에 맞게 미세조정(fine-tuning)하여 훈련하는 과정을 말한다. 여기에서 사용한 ResNet-18 모델은 깊은 신경망을 훈련시킬 수 있는 스킵 연결(skip connection)을 특징으로 갖는 ResNet 모델의 하나로서, 18개.. 2021. 3. 12.