본문 바로가기

AI tech

반응형
EDA의 중요성 및 내가 겪은 시행착오 안녕하세요! 개인화 추천시스템을 개발하고자 하는 ML 엔지니어입니다. EDA는 데이터를 단순히 살펴보는 것을 넘어, 데이터를 목적에 맞게 정제하고 인사이트를 얻는 핵심 과정입니다. 이번 글에서는 제가 겪은 시행착오와 그 과정에서 배운 교훈을 바탕으로, 효과적인 EDA 전략에 대해 이야기하고자 합니다. EDA는 데이터를 이해하고 품질을 검증하여, 모델링 결과의 신뢰성과 품질을 높이기 위한 과정이라고 생각해요. 그런데, EDA를 ‘잘’ 한다는 건 정확히 무엇을 의미할까요? 결국 ‘인사이트를 얻기 위한 데이터 뜯어보기’ 정도로 이해했지만, 어떻게 하면 더 효율적으로 의미 있는 인사이트를 도출할 수 있을지 고민이 많았습니다. AI 학습에 흔히들 “데이터의 양 뿐 아니라 질이 매우 중요하다” 라고 말합니다. 높은.. 더보기
Text2SQL: 예약 어시스턴트를 위한 기술 탐구 안녕하세요. 오늘은 회사 업무를 진행하면서 Text2SQL에 대해 얻은 인사이트를 짧게 적어보고자 합니다. 관심을 가지게 된 이유Text2SQL 기술은 회사에서 개발 중인 서비스인 예약 어시스턴트를 개발하는 데 중요한 역할을 합니다. GPT-4와 같은 대형 언어 모델(LLM)은 자연어를 잘 처리하지만, 이것만으로 완벽히 정형화된 SQL 쿼리로 변환하는 데는 한계가 있었습니다. 이를 해결하기 위해 Text2SQL 기술을 도입하여, 자연어로 입력된 사용자 요청을 정확한 SQL 쿼리로 변환하고 데이터베이스에서 적절한 정보를 추출할 수 있게 되었습니다. 또한 이 기술을 통해 시스템의 안정성과 정확성을 확보할 수 있었습니다. 개인적인 소감Text2SQL 기술을 탐구하고 적용해보면서, 자연어를 데이터베이스 쿼리로 .. 더보기
IF (Kakao AI) 2024 - 모든 연결을 새롭게 (1일차, 컨퍼런스 참여 후기 및 요약) 최근 10월 22일에 이프카카오라는 개발자 컨퍼런스를 다녀왔어요.(감사하게도 회사에서 보내줌..!) 생성형 AI가 보물처럼 쏟아지는 이 시기에 LLM의 현재 상황과 앞으로 미래에 어떻게 AI가 발전할 지, 그리고 카카오에서는 어떻게 AI 기술을 활용하고 있는지를 볼 수 있는 유익한 시간이었습니다. 더불어 카카오의 새로운 AI 서비스 카나나를 처음으로 공개한 날이어서 설레는 마음으로 다녀왔어요. 그 과정에서 기록한 것들을 공유하고자 합니다. 도움이 되었으면 좋겠습니다! https://if.kakao.com/https://tech.kakao.com/posts/641https://tech.kakao.com/posts/642Keynote 세션 모든 연결을 새롭게소개정신아 카카오 대표이사는 생성형 AI의 급속한 .. 더보기
밑바닥부터 시작하는 딥러닝2 정리 Chapter 2 - 자연어와 단어의 분산 표현 개요 NLP의 본질적 문제 : 컴퓨터가 우리의 말을 알아듣게(이해하게) 만들기 딥러닝 등장 이전의 고전적인 기법 살펴볼 예정 파이썬으로 텍스트 처리를 위한 사전 준비 2.1 자연어 처리란 자연어 처리(NLP)가 추구하는 목표 : 사람의 말을 컴퓨터가 이해하도록 만들기 → 우리에게 도움이 되는 일을 수행할 수 있도록 일반적인 프로그래밍 언어는 기계적이고, 고정적임 → 딱딱한 언어 자연어 : 영어, 한국어 등 → 부드러운 언어 / 뜻이 애매하거나, 의미나 형태가 유연하게 바뀜 자연어 처리 예 : IME(입력기 전환), 문장 자동요약, 감정분석, 질의응답, 검색 엔진, 기계 번역 등 단어의 의미 의미의 최소 단위가 단어 그래서 ‘단어의 의미’를 컴퓨터에게 이해시키는 것이 중요 세 가지 기법 시소러스 기법 - .. 더보기
Transformer 기본 개념 Transformer 구조에 대한 복습을 진행하면서 적은 글입니다. Go 언어로 Transformer 구현을 위해 간략히 정리해봤습니다! (관련 링크 : https://github.com/golansformer/golansformer/issues/6) Transformer 복습내가 이해한 어텐션 / 인코더는?query, key, value가 각각 구성이 사실 같음I, go, home → 이런 문장을 인코딩 한다고 해보자각 출력은 임베딩 벡터 h1, h2, h3로 뱉어짐q, k, v로 부르면, 시퀀스 당 입력 q가 하나 주어지고(단어 하나), k, v 는 전체로 고정‘I’ 의 인코딩 벡터를 구해보자q는 I의 임베딩 벡터k는 I, go, home의 각 임베딩 벡터를 담고 있음q와 각 단어를 dot produ.. 더보기
모델 학습 시작 또는 종료 시, Slack 알림 가게 하기 원리 : 함수 위에 데코레이터를 추가해줘서 시작과 종료 시 Slack 알림이 가게끔 한다~ 출처 : (미션 1) 맨 아래 → huggingface knockknock 라이브러리 관련 설명 https://github.com/huggingface/knockknock 라이브러리 설치 pip install knockknock 코드 사용법 - 알림을 원하는 함수 위에 데코레이터 추가 from knockknock import slack_sender #본인의 webhook_url, channel 입력해주기! webhook_url = "" channel = "김민석_T6016" @slack_sender(webhook_url=webhook_url, channel=channel) def 원하는_함수(): ... ... #.. 더보기
밑바닥부터 시작하는 딥러닝 정리 Chapter 8 - 딥러닝 딥러닝의 특징과 과제 + 가능성 살펴볼 예정 오늘날의 첨단 딥러닝에 대해 8.1 더 깊게 그동안 배운 기술을 집약하고, 심층 심경망을 만들 예정 MNIST 데이터셋 손글씨 숫자인식 더 깊은 신경망으로 아래와 같은 CNN 구성 예정 여기서 사용하는 합성곱 계층 : 모두 3*3 필터 사용 → 층이 깊어지면서 채널 수가 더 늘어남 활성화 함수는 ReLU 풀링 계층 추가 → 중간 데이터 공간 크기 줄여감 마지막 완전연결 계층 → 드롭아웃 계층 사용 초깃값 : He 초깃값 가중치 매개변수 갱신(최적화) : Adam 결과부터 말하면, 이 신경망의 정확도는 99.38% 인식하지 못한 이미지들 인간도 판단하기 어려운 이미지가 많음 이처럼 심층 CNN은 정확도가 높고, 잠재력이 크다는 걸 느낄 수 있다~ 정확도를 더 높.. 더보기
밑바닥부터 시작하는 딥러닝 정리 Chapter 7 - 합성곱 신경망(CNN) Chapter 7 - 합성곱 신경망(CNN) 개요 CNN 메커니즘 자세히 설명하고 파이썬으로 구현할 예정 사용 : 이미지/음성 인식 7.1 전체 구조 CNN도 지금까지 본 신경망과 같이 레고처럼 계층을 조합해서 만들 수 있음 새로운 등장! → 합성곱 계층, 풀링 계층 인접 계층의 모든 뉴런과 연결된 경우 → fully connected → 완전 연결된 계층을 Affine 계층이라는 이름으로 구현했음 기존 Affine 계층 그럼 CNN 구조는 어떻게 다르지? 합성곱 계층과 풀링 계층이 추가됨 Conv - ReLU - (Pooling) 순으로 연결(풀링 계층은 생략하기도 함) 또 다른 특징 : Affine-ReLU를 출력에 가까운 층에서 사용 가능 + 마지막에는 Affine-Softmax 사용 (일반적인 C.. 더보기