목록전체 글 (92)
Ssul's Blog

최근 회사에서 작성한 AI관련 R&D사업 기획안이 선정되어, 해당 R&D의 총괄을 맡게 되었다.추석이후 본격적으로 연세대와 함께 멘탈헬스관련 AI모델의 연구개발에 돌입한다.추석 연휴가 시작되기전 전체적인 로드맵을 그리면서, 내가 써낸 기획안이 실현가능한 수준인지 체크하고 있다(선정을 위해 너무 지른것이 아닌가 체크 또 체크 ;;;) 크게 3가지 과업을 셋팅했는데, 그 중 하나가 감정단어 분류기이다.자연어 데이터안에 있는 감정단어를 AI모델이 인식하여 찾아내고, 분류하는 모델. 0. 문제인식자연어 데이터에서 내가 원하는 감정단어를 어떻게 AI모델이 찾을수 있을까?우선 기계적인 코딩으로는 쉽다. 감정단어 리스트를 정리하고, 입력된 문장을 단어로 쪼개서, 리스트와 비교하면서 단어를 찾아내면 된다.하지만 문제는..
1. 내가 이해하는 직렬화, 역직렬화 구분- A: 사람이 읽기는 어렵지만, 기계에게 효과적인 데이터(예: 0xB0, 0xA0)- B: 사람이 읽기는 편하지만, 기계에게는 비효율적인 데이터(예: {"id": 1, "contents": '첫번째 글'}) 직렬화: B -> A (dict -> bytes): 조금더 배우고나서 적음 > dict > byte역직렬화: A -> B(bytes -> dict): 조금 더 배우고나서 적음: byte > dict > 객체 2. Django에서 직렬화 이해(GET과정)DB에서 인스턴스 가져오기ins0 = Comment.objects.all()[0]serializer에 넣어서 dict객체로sr = CommentSerializer(instance=ins0) #instance에 ..

간단한 API서버는 EC2로 만드는 것보다, Serverless로 하는게 간편하고 좋다.AWS Lambda를 사용해서, gpt-4o-mini와 소통하는 api를 만들었는데... 계속 Layer연결에서 에러가 나서... 남겨놓는다.(나의 4시간ㅜㅜ) 우선 lambda로 serverless를 구현하는데는 총 3가지 작업이 있다.1. 람다 함수 코딩2. Layer연결(python 개발시 설치되는 라이브러리들을 lambda로 가져오는 작업. layer없이 import openai하면, 해당 모듈이 없다고 뜬다)3. api gateway연결 위 3단계의 내용은 https://issul.tistory.com/438 요글에 코드와 함께 잘 나와있다. 오늘은 실리콘 맥에서(m1부터~) Layer구성하는데 시행착오를 남..

스팸분류기를 제작하고 있다.기존에 LLM을 파인튜닝하는https://issul.tistory.com/455https://issul.tistory.com/456두개의 방법과는 다른 접근 방법이다. 이 방법은 문자 텍스트 데이터를 성능좋은 임베딩 모델을 가지고, 각 문자를 임베딩하여 N차원의 공간에 배치하는 것이다.그리고, 새로운 문자가 들어오면, 신규문자를 N차원에 공간에 뿌려서 가장 근처의 문자 3개(Top-k)를 가져와서 문자통계를 내서, 가장 빈도가 높은 문자분류를 입력된 문자의 분류로 결정하는 개념이다. 다양한 임베딩 모델이 있지만 오픈AI의 text-embedding-3-small을 활용할 예정이다. 1. 기본 셋팅을 진행한다!pip install openai####################..
AI스팸분류기를 제작하고 있다.지난번에는 text-generation모델을 기반으로 instruction-finetuning을 통한 모델을 개발했다.이번 글에서는 text-classification모델을 기반으로 파인튜닝하여 모델을 개발해볼 예정이다.(*text-classification의 대표적인 예는 문장의 긍정/부정을 예측하는 모델이 있다.) 1-2는 기존글과 동일하기에 생략https://issul.tistory.com/455 3. text-classfication모델 가져와서, 양자화하고, LoRA붙이기device = 'auto' #@param {type: "string"}base_LLM_model = 'yanolja/EEVE-Korean-Instruct-2.8B-v1.0' #@param {typ..