개발
[인공지능 단어장] 001. 인공지능 (Artificial Inteligence, AI)
인공지능: Artificial Intelligence, AI 인간과 유사한 학습, 추론, 문제 해결 능력을 가진 기계나 소프트웨어. 인간의 인지 기능을 모방하는 컴퓨터 시스템 혹은 그러한 기계. 본래 영어 단어 Artificial Intelligence보다 축약어인 AI가 더 익숙한 분들이 많으실 단어입니다. 영어는 [아티피셜 인텔리전스, 에이아이]로 발음합니다. 인공: 만들어낸 + 지능: 생각하는 힘 두 단어의 합성어로 사전적으로는 인간이 만들어낸 인간과 같은 지능을 의미합니다. 실제 생활에서는 인간과 구분되지 않는 기계, 소프트웨어를 보통 인공지능이라고 합니다. 인공지능에는 다양한 방법이 있지만 현대에 들어서는 주로 머신러닝(기계학습)과 딥러닝 기술을 이용하여 인공지능을 구현합니다. 머신러닝, 딥러닝..
[인공지능 단어장] 인공지능 공부, 단어공부가 필수인 3가지 이유!
바야흐로 인공지능 전성시대라고 할 수 있는 때가 되었습니다. 23년 chatGPT를 시작으로 Stable diffusion 등 인공지능이 일반 제품의 영역으로 본격적으로 등장하기 시작했습니다. 시대에 뒤쳐지지 않기 위해선 이제 인공지능 공부가 필수라고 할 수 있죠. 전공자나 비전공자 모두 인공지능 공부를 처음 시작하는 사람이라면 간과하는 것이 하나 있는데요. 바로 단어 입니다. 영어나 프랑스어 일본어든 새로운 외국어를 배울 때 가장 많이 하는 것이 무엇일까요? 바로 단어 암기입니다. 인공지능 공부도 마찬가지 입니다. 한글로 쓰여있지만 전혀 다른 언어를 하고 있다고 생각하면 이해가 쉽습니다. 다른 언어이기 때문에 단어를 몰라 이해를 못하는 경우가 아주 많습니다. 하지만 대부분은 단어를 찾아보지 않고 공부하..
LangChain Tutorial : 1. LangChain 소개
LangChain은 GPT로 대표되는 Large Language Model(LLM)을 이용해 파이프라인과 앱을 빠르고 쉽게 개발할 수 있도록 도와주는 프레임워크 입니다. LangChain을 이용해서 챗봇, 생성형 질의 응답, 요약 등 다양한 어플리케이션을 만들 수 있습니다. 인공지능의 대중화에 아주 큰 영향을 미칠 프레임워크라고 생각합니다. 이 프레임워크의 중요 아이디어는 "Chain(체인, 연쇄 작용)" 입니다. 서로다른 다양한 컴포넌트들을 연결시켜 LLM을 중심으로 진보한 사용 사례를 만들어 낼 수 있습니다. 이러한 체인은 다음과 같은 여러개의 컴포넌트들로 구성될 수 있습니다. 프롬프트 탬플릿: 프롬프트 탬플릿은 여러가지 타입의 프롬프트를 지원하기 위한 탬플릿 입니다. 챗봇 스타일의 연속적인 대화나,..
022. OpenVPN 설정에 DNS를 추가하는 방법
VPN 클라이언트로 OpenVPN을 많이 사용하는데요, 사용자 정의 DNS를 추가해야 할 때가 있습니다. OpenVPN 설정 파일에 다음과 같이 DNS를 추가할 수 있습니다. # openvpn-config.ovpn ... dhcp-option DNS dns_server_ip_address 부분에 설정하고자 하는 DNS IP주소를 추가하면 됩니다.
021. VHS: CLI 명령을 GIF 데모영상으로 만들어주는 툴
소개 개발을 하다보면 터미널에 사용한 명령어를 데모로 만들 필요가 생길 때가 있다. 이럴 때는 주로 비디오 녹화를 켜고 터미널에서 명령어를 순차적으로 입력하는 작업을 녹화하는데, 이 방식은 여러가지 문제가 있다. 첫번째는 가장 큰 문제로 영상 녹화 도중에 잘못 입력할 경우 깔끔한 영상을 위해서는 처음부터 다시 찍어야한다. 기존 방식의 제일 크고 심각하게 시간을 많이 잡아먹게 만드는 문제라고 봐도 무방하다. 특히 명령어가 길고 연속적인 작업을 할 경우 오타 하나 나는 순간 깔끔한 영상은 물건너간다. 이를 위해 수많은 노력 혹은 붙여 넣기를 위한 준비를 해야한다. 다음으로 동영상 촬영을 하는 방식이기 때문에 영상 앞 뒤로 쓸모없는 공백 시간이 발생한다. 이를 깔끔하게 만들어주기 위해서 영상 편집을 해야하는 ..
020. [Kubeflow][KServe] 인증문제 해결하기 (Istio-Dex)
KServe on Kubeflow with Istio-Dex Kubeflow KServe 인증문제 해결하기 KServe를 Kubeflow와 함께 배포했다면, [[KServe First InferenceService 처음배포하기]]에서 예상하지 못한 인증문제를 겪으셨을 것입니다. 인증 문제가 발생한 이유는 Kubeflow내 외부로 통하는 모든 트래픽이 Istio-Dex를 통해 인증과 인가(AuthN/AuthZ)를 거치기 때문입니다. 따라서 KServe로 추론 요청을 보낼 때에도 인증정보가 필요합니다. [[KServe First InferenceService 처음배포하기]]에 이어서 인증정보를 추가하여 추론요청을 보내는 방법을 알아보겠습니다. 인증정보 받아오기 Istio-dex는 ID / Password로 ..
019. [Kubeflow][KServe] InferenceService 처음 배포하기!
이번 튜토리얼에서는 ScikitLearn InferenceService를 배포할 것입니다. 이 InferenceService는 간단한 [iris] ML model을 서빙합니다. 속성 리스트를 InferenceService에 전송하면, 붓꽃(iris)의 종(species)을 예측해서 보여줍니다. 모델은 원시(raw) 쿠버네티스 서비스가 아닌 InferenceService로 배포되고 있기 때문에, 훈련된 모델을 제공하기만 하면 바로 사용이 가능합니다 마치 초능력을 가진것처럼 말이죠! 1. 테스트 InferenceService 생성하기 apiVersion: "serving.kserve.io/v1beta1" kind: "InferenceService" metadata: name: "sklearn-iris" sp..
018. [Kubeflow][KServe] SKLearn model InferenceService 배포하기
[!NOTE] 이 문서는 KServe v0.7을 기준으로 작성되었습니다. 이번글에서는 SKLearn 모델을 학습하고 KServe의 InferenceService로 배포해보겠습니다. 모델 학습, 로컬 테스트, Inferece Serivce 배포 순서로 진행합니다. 모델 학습과 로컬 배포테스트는 건너 뛰셔도 무방합니다. 모델 학습하기 학습할 모델은 머신러닝에서 매우 유명한 Iris 데이터셋, 붓꽃 종 분류 문제를 해결하는 모델입니다. 다음 코드를 수행해서 모델을 학습하고 'model.joblib'으로 학습한 모델을 저장합니다. from sklearn import svm from sklearn import datasets from joblib import dump iris = datasets.load_iris..