본문 바로가기

Tech/Generative AI

(6)
Rag : 나만의 LLM을 만들자 무엇이든 잘 대답하는 LLM의 한계 ChatGPT가 놀랍다는 건 이제 너무 지루한 말이 되어 버렸습니다. 이미 이 같은 대규모 언어 모델(Large Language Model, LLM)들을 많은 이들이 자신의 업무에 적용해 생산성을 크게 향상시키고 있죠. 무엇이든 잘 답변해 내는 걸 보면, 이제 AI가 아니라 마치 요술램프 지니 같기도 합니다. 그러나, 이러한 LLM의 범용성에도 불구하고, 특정 도메인에 대한 세밀한 정보를 원하는 데는 한계가 있습니다. 예를 들어 특정 지역의 특정 은행 지점의 운영 시간과 같은 질문에 대해 LLM은 그 은행의 구체적인 정보를 알지 못하여, 가장 일반적인 응답을 제공할 가능성이 높은 것처럼 말이죠. 이는 LLM의 큰 한계점 중 하나인 할루시네이션 현상이기도 하죠. 이는 많..
GPTs, 나의 과거 프로젝트를 구현하다. 또 다른 패러다임의 전환, GPTs 패러다임 : 한 시대의 보편적 사고의 틀이나 인식의 체계 AI계에서, 2023년은 ChatGPT의 해였다고 해도 과언이 아닙니다. 개발자는 물론 디자인과 기획, 의료, 법, 등 분야를 막론하고 ChatGPT의 기술을 도입하려 하고 있죠. 아마 ChatGPT에 영향을 받지 않은 분야는 단 하나도 남지 않았을 것입니다. 이러한 전환을 가속화할 새로운 녀석이 나타났습니다. 바로 GPTs입니다. 이제 자신만의 ChatGPT를 아주 손쉽게 만들어낼 수 있게 되었습니다. 이모티콘 생성기, 법률 비서, 의료 비서, 논문 요약기 등 ChatGPT를 베이스로 한 다양한 서비스들을 아주 쉽게 만들 수 있게 되었죠. 더군다나 이렇게 만든 GPTs를 세상에 공유할 수 있는 플랫폼도 탄생했습..
[StableDiffusion] Virtual Try On : 원하는 옷을 입혀보자 어디에나 필요한 Virtual Try On 최근 친구가 취업에 성공했습니다. 사원증에 필요한 사진을 회사에 제출해야 했는데, 이것저것 바쁜 일이 많았던 친구는 일반 증명사진에 정장을 합성하기로 하죠. 당시 저는 StableDiffusion을 활용해, 옷을 변경하는 로직을 구상 중이었습니다. 마침 테스트로 활용할 실험군이 나타난 것이죠. 포토샵을 다룰 줄 몰랐지만, 선뜻해준다고 나섰습니다. 그 결과, 아래와 같이 정장을 입혀주게 되었습니다. 꽤나 마음에 들어 하던 친구는 이를 사원증으로 사용하게 되었죠. 서론이 조금 길었습니다. 위처럼, 디지털 환경에서 옷이나 액세서리를 가상으로 착용해 보는 기술을 "Virtual Try-On"이라 합니다. 꽤 많은 니즈가 있고, 이를 위한 많은 연구가 있어 왔죠. 이번 ..
[Stable Diffusion] ControlNet이란? ControlNet의 종류 이미지를 생성해 주는 인공지능이 처음 나왔을 때, 그 퀄리티에 놀란적이 있습니다. 2022년 4월, DALL·E 2가 세상에 공개되었을 땐, 이젠 웬만한 사람이 흉내 낼 수 없는 퀄리티를 보이기도 했습니다. 퀄리티면에서는 사람이 AI를 이기기란 어려운 일이 되어버렸습니다. 하지만 이런 발전에도 불구하고, 사용자의 의도를 정확히 반영하는 것은 여전히 어려운 문제로 남아있습니다. 사용자는 AI에게 프롬프트를 제공할 수 있을 뿐, 그 이후에는 AI가 확률적 알고리즘에 따라 이미지를 생성합니다. 때문에, 매번 다른 이미지를 생성하게 되고, 정확히 사용자가 원하는 그림을 얻기까지는 수많은 노력과 시간이 필요합니다. 한 가지 예시를 보겠습니다. 아래는 Stable Diffusion을 활용해 테니스를 치는 아이언맨을..
AutoEncoder 생성 모델의 한 축을 담당하는 Variational Autoencoder를 이해하기 위해서는, Autoencoder를 그냥 지나칠 수 없습니다. 이번 글에서는 Autoencoder에 대해 이해해 보는 시간을 가져보겠습니다. Autoencoder Autoencoder는 위의 그림과 같은 구조를 가지고 있으며 Encoder, Latent Vector, Decoder 이 3가지의 구성으로 이루어져 있습니다. 해당 모델의 가장 큰 목표는 데이터를 잘 압축하고자 하는 것입니다. 이 3가지의 구성 요소들이 어떻게 데이터를 잘 압축할 수 있도록 해주는지 하나하나씩 살펴보도록 하겠습니다. Autoencoder의 목표는 데이터를 잘 압축하는데에 있다. Encoder Autoencoder에서 Encoder의 역할은 입력된..
확률 관점으로 바라보는 머신러닝 Variational AutoEncoder를 이해하기 위해서는 기존의 머신러닝 관점을 확률론적 관점으로 바라볼 수 있어야 합니다. 해당 글은 이활석님의 오토인코더의 모든것이라는 강연을 보고 정리한 느낌이 되겠습니다. 이번 포스팅에서는 아래의 문구를 이해하는데 초점을 맞추며 내용을 이어갈 계획입니다. 딥러닝 모델을 학습시킨 다는 것은 Maximum Likelihood Estimation 하는 것과 같은 말이다. 기존의 머신러닝 학습 과정 우리가 일반적으로 머신러닝을 처음 공부할 때, 아래와 같은 메커니즘으로 모델이 동작한다는것을 배웁니다. 학습데이터 x를 모델에 입력한다. 입력값 x가 모델 내의 파라미터(Weight and Bias)를 거쳐가며 예측값인 y_pred를 출력해 낸다. 이렇게 얻은 예측값 y_..