인간공학에서 AI는 어떻게 쓰일까? - ML, XAI, CV, LLM
·
Research
인공지능의 성장속도는 어마무시하게 빠르다. 하루가 멀다 하고 새로운 기술, 패러다임, 논문이 쏟아져 나오고, 어제의 신기술은 오늘의 구식 기술이 돼버린다. 그런데 결국 이를 실제로 사용하는 사람의 입장에서 가장 크게 와닿는 것은 무엇인가? 당신은 AI라 하면 뭐가 가장 먼저 떠오르는가? 그것은 바로 챗봇이다. 그중 ChatGPT가 제일 먼저 생각날 테고, 조금 배운 사람은 Llama나 Gemini 정도를 언급할 것이다. ChatGPT가 등장한 후로부터 2년이 갓 지난 시점인 지금, 아직 짧은 기간밖에 안 됐다고 생각할 수도 있으나 AI는 아직 그 무궁무진한 가능성만 운운하며 실제 사람들에게는 크게 와닿지 못하고 있는 듯하다.활용 방안의 부족 서두에 말했듯 AI 기술 자체는 빠르게 발전하고 있지만, 이를 ..
[Terminology] XAI에 대해 알아보자 - Explainable Artificial Intelligence
·
Research
XAI(Explainable Artificial Intelligence)는 말 그대로 설명 가능한 인공지능을 뜻한다. 인공지능의 결과나 행동에 대해 사람이 이해할 수 있는 형태로 설명을 제공하는 기술 및 접근법을 모두 포괄하는, HCI와 인간공학에서 연구되는 분야이다.Background 전통적인 머신러닝의 방법론에서 깊은 인공신경망 (DNN), 합성곱 신경망 (CNN), 시계열 분석, 그리고 거대 언어 모델 (LLM)에 이르기까지 인공지능은 다양한 분야에서 그 활용성을 입증하고 있다. 그러나 초반의 통계적인 방법론에 의한 기계 학습 기법과 대비되게, 좀 더 발전된 형태의 딥러닝 모델들은 그들의 의사 결정과 행동의 인과를 알 수 없는 블랙박스적 특징을 한계로 지니고 있다. 그들이 어떤 의사 결정을 하는 것..
[LLM] 임베딩 모델로 데이터 의미 압축하기 (3) - 의미, 키워드, 하이브리드 검색
·
AI
사용자의 쿼리를 바탕으로 이에 걸맞은 정보를 얻기 위해서는 어떤 방식의 검색 알고리즘을 사용하는 것이 좋을까? 이번 시간에는 임베딩 변환 후 유사도 기반의 의미 검색과 단순히 키워드로 같은 문자열을 찾아내는 키워드 검색 중 하나인 BM25, 그리고 이들을 합친 하이브리드 검색에 대해 구현해 보자. 의미 검색 사실 수식으로 따지면 임베딩이 차지하는 비율이 높기 때문에 굉장히 복잡한 구현이 필요하지만, 우리는 임베딩 라이브러리인 sentence-transformer와 벡터 연산 라이브러리인 faiss를 통해 간단히 구현할 수 있다. from datasets import load_datasetfrom sentence_transformers import SentenceTransformerklue_mrc_data..
[Terminology] Modality에 대해 알아보자 - Modality, Multimodal
·
Research
모달리티라는 개념은 AI 분야에서 ChatGPT-4부터 가능해진 멀티모달이란 용어가 등장하면서 유명해진 것 같지만, 사실 HCI나 인간공학 분야에서 오래토록 연구되어 왔던 주제들에서 핵심 키워드에 해당한다. 멀티모달이라고 하면 서로 다른 종류의 input이 가능하다는 단편적인 의미로만 쓰이는 것 같고, 좀 더 포괄적인 개념에 대한 이해가 부족한 것 같아 정리해보려 한다. 다시 돌아가서, 그렇다면 modality는 input인가? 겹치는 부분이 있을 수야 있겠지만 동치는 아니다.모달리티 (Modality)인간의 감각, 행동, 또는 의사소통 방법을 나타내는 용어로, 특정한 종류의 정보를 처리하거나 표현하는 방식 모달리티는 단순히 입력 방식(input) 이상의 개념으로, 정보의 전달 방법과 표현 방식을 포함한..
[LLM] 임베딩 모델로 데이터 의미 압축하기 (2) - 문장 임베딩 방식
·
AI
[LLM] 임베딩 모델로 데이터 의미 압축하기 (1) - 텍스트 임베딩 이해하기컴퓨터가 자연어를 이해하려면 텍스트를 숫자로 바꿔야 하는데, 이 과정에서 '임베딩'이라는 방식이 쓰인다. 오늘은 텍스트를 숫자로 바꾸는 다양한 방법과 그 변천사를 알아보고, 각각의 방식dusanbaek.tistory.com 지난 시간에 이어 이번엔 문장 임베딩에 대해 알아보자. 결국에 문장 단위로 입력에 넣어서 임베딩을 진행하는데, 여러 방식 중 하나는 트랜스포머의 인코더 구조를 사용하는 것이다. 내 블로그에 트랜스포머의 구조를 설명해 놓았으니, 이를 참고하면 한 문장이 어떻게 임베딩 벡터로 변환되는지 이해할 수 있을 것이다. 두 문장이 주어졌을 때 두 문장이 얼마나 유사한지 구하는 두 방식을 알아보고, 실습을 통해 개념을 정..
[LLM] 임베딩 모델로 데이터 의미 압축하기 (1) - 텍스트 임베딩 이해하기
·
AI
컴퓨터가 자연어를 이해하려면 텍스트를 숫자로 바꿔야 하는데, 이 과정에서 '임베딩'이라는 방식이 쓰인다. 오늘은 텍스트를 숫자로 바꾸는 다양한 방법과 그 변천사를 알아보고, 각각의 방식이 어떤 의미를 갖는지 깊게 이해해 보자. 우리가 이걸 왜 알아야 할까? 예를 들어 검색 엔진에서 적절한 답을 찾으려면 질문과 정보의 의미적 유사성을 계산해야 하는데, 여기서 임베딩이 핵심적인 역할을 한다. 추천 시스템이나 자연어 처리에서도 마찬가지로 중요하다. 결국 이런 과정을 제대로 이해하면 단순히 모델을 사용하는 데서 그치지 않고, 데이터를 다루고 의미를 압축하는 구조를 설계하는 데까지 응용할 수 있게 된다. 텍스트 임베딩 from sentence_transformers import SentenceTransformer..
아저씨 넷의 당일치기 대구 여행기 근데 1박을 곁들인
·
Life/living
이제 다시는 안 간다... 돌아오는 버스를 네 시간 반이나 타니 허리가 끊어질 지경... 지난번에는 KTX 타고 가서 편했는데 이번에는 버스를 타봤다  이월드 가는 게 목적이라 서대구로 정했고~ 근데 어차피 서대구 들렀다 동대구 가던데 버스 타러 갔는데 진주 가는 버스도 있네? 소도시를 위한 배려인가요?휴게소에서 호두과자 사먹었는데 진짜 맛있더라 김이 모락모락  이월드 도착! 네이버페이로 결제하면 반값이라 24,500원에 들어왔다 근데 신기한 게 다른 조건이 없음! 그냥 네이버페이로 결제만 하면 반값이더라 보이다시피 사람이 진짜 없었다 근데 놀이기구 안하는게 많아서 눈치게임을 막 성공한 건 아닌 것 같은 느낌 부메랑이랑 허리케인 운휴라 나머지만 조지게 탔다  자기랑 닮았다고 주장하는 거 같은데 도저히 봐..
[LLM] 데이터를 검증하는 방식 알아보기 with NeMo-Guardrails
·
AI
사용자가 원하는 정보를 다 대답해 주는 생성형 AI 서비스도 좋지만, 우리는 목적에 맞는 정보만 제공하기를 바라고 또 내가 제공하는 정보가 사용자와 운영자에게 악영향을 미치지 않기를 바란다. 그래서 우리는 사용자의 요청에 따른 답변이 제대로 되었는지를 검증하고 제공해야 할 필요가 있다. 따라서 답변을 제공하기 전 데이터를 검증할 수 있는 네 가지 방법을 소개하고 유사도, 프롬프트를 활용한 검증 실습을 진행해 보자.데이터 검증 방식 규칙 기반가장 간단하고 알고리즘적으로 해결할 수 있는 방법이다. 우리가 만약 누군가의 주민등록번호나 전화번호를 요청하였고, 만약 벡터데이터베이스에 그 정보가 존재한다면 개인정보 유출의 우려가 있을 것이다. 주민등록번호 13자리나 전화번호 11자리의 정규 표현식을 통해, 답변에 ..
[LLM] LLM Cache로 효율성 확보하기 with ChromaDB
·
AI
지난 시간에는 벡터 데이터베이스를 통해 사용자의 질문과 관련된 정보를 찾아 프롬프트에 통합하는 RAG에 대해 알아보았다. 이제 만들어진 프롬프트를 바탕으로 LLM 모델에 결과를 요청해야 한다. 그런데 여기선 두 가지 상황에서 문제가 발생한다. 먼저 OpenAI 같은 상업용 API를 사용할 경우, 프롬프트의 토큰 수만큼 비용이 발생한다. 그렇다고 직접 LLM을 서빙하는 경우도 녹녹지 않다. GPU를 많이 사용해야 하기 때문이다. 다양한 상황에서 최대한 LLM 추론을 줄여야 할 텐데, 어떤 상황에서 줄일 수 있을까? 그건 바로 이미 이전 상황에서 생성된 답변이 있는 경우를 활용할 때다! 똑같은 질문을 다시 하거나, 비슷한 질문을 했을 때 같은 답변을 내놓는다면 LLM 추론 횟수를 줄일 수 있을 것이다. 이번..
[LLM] RAG로 Hallucination 방지하기 with Llama-index
·
AI
우리는 ChatGPT의 답변을 얼마나 신뢰할 수 있을까? ChatGPT 유료 멤버십을 사용한다면, 보통 ChatGPT 4o 모델을 사용할 테니 웬만한 질문에 대한 답변에서 할루시네이션 (hallucination) 이 일어날 가능성이 상대적으로 줄어든다. 이는 모델이 모르는 정보에 대해 외부 정보를 검색해서 나오는 데이터를 참고하여 답변하기 때문이다. 이 방식은 이후 설명할 RAG와 유사한 방식으로 작동된다. RAG (Retrieval-Augmented Generation) RAG는 한국말로 검색 증강 생성이다. 검색 증강 생성이란, LLM이 질문에 대한 답변을 확률에 기반한 생성에 집중할 뿐만 아니라 답변에 필요한 충분한 정보와 맥락을 제공하고 답변하도록 하는 방법이다. 말 그대로 검색을 통해 보충한 생..