서버 : 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 장치클라이언트 : 네트워크를 통하여 서버에 접속해 정보를 확인하거나 서비스를 이용하는 장치 클라이언트의 역할은 프로그램을 이용하고 싶다는 것.이용하고 싶은 프로그램은 서버한테 요청한다.그러면 서버는 응용 프로그램을 가지고 있다가, 프로그램을 클라이언트 한테 준다.그걸 받은 클라이언트는 실행한다. 즉, 클라이언트는 요청하는 거고, 서버는 요청을 처리해준다. 서버의 역할 및 종류클라이언트 -> request(콘텐츠)콘텐츠를 request한다. 서버가 하는 행위응답(Response) : 콘텐츠를 response한다.html, css, js ,텍스트, 이미지 웹 서버웹 서버 : 정적 콘텐츠(시간이 지나더라도 변하지 않는 콘텐츠)웹 서버는 콘텐츠를 ..
chatgpt, 코파일럿, 제미나이, 클로바 엑스, 클로드, 뤼튼, 아숙업 등 실습에서는 코파일럿을 사용한다. Als ranked by IQ = 클로드가 100을 넘겼다. 아이폰이 등장함으로 인해서 모바일 광고 시장이 TV 광고 시장이 훨씬 커졌다.즉, 사용하는 매체에 따라 시장의 변화가 커졌다. 카메라의 탄생으로 인해 근대에서 사실화 묘사가 사라졌다.엑셀의 등장으로 인해서 글자를 정리하는 사람들이 사라졌다. DALL-E 2가 발표가 됨으로서 일반인들도 코딩 없이 AI를 사용할 수 있게 되었다. 코딩 자체도 chatgpt의 등장으로 인해서 보조할 수 있는 상태가 되었다. 정보 수집, 연관 논문, 정보 수집 & 개별 문서 정보 추출(scispace)클립아트 작성 (DALL E3) 데이터 분석 (Chatgp..
RAG(Retireval-Augmented Generation)할루시네이션 현상 및 최신 정보 미 반영 등 사전 학습 모델은 문제가 많다.따라서 RAG로 질문을 주고, 질문 관련 검색된 문서의 내용을 참고해서 답변하게 된다. RAG의 특징 벡터샘플을 잘 설명하는 특징이 좋은 특징이다.머리 색, 머리 결, 피부 색, 키, 사진 지역 등특징이 비슷하면 비슷한 사람이라고 할 수 있다. 그렇기에 유사도를 기반으로 매핑한다.글자 뿐만이 아니라 문장도 특징 벡터로 만들 수 있다.문자로는 비교할 수 없는 유사도나 거리, 관계 등을 알 수 있다. TF-IDF를 사용하고, BM25로 TF-IDF의 스코어를 보완하기 위한 파라미터를 추가한다.단어 qj의 IDF를 기반으로 파라미터를 쓴다.k1이 0이면 뒤에가 다 무시된다..
로직 모듈 1. 질문하기2. 질문에 해당하는 문서 검색3. 질문과 검색된 문서를 기반으로 LLM에게 질문할 프롬프트 구성4. 프롬프트를 이용해서 LLM에게 질문하기5. LLM 답변을 사용자에게 전달한다. LLM이란? 언어의 특징 벡터 언어는 우리 머리속에 있는 개념을 나타내는 심볼이다.글자에는 아무런 정보도 없다. 따라서 딥러닝에서 이러한 심볼을 인식할 수 있는 정보가 필요한데, 이게 특징 벡터이다. 단어 임베딩 : 단어를 대표하는 특징 벡터문장 임베딩 : 문장을 대표하는 특징 벡터특징 벡터 공간에서 거리, 유사도 등으로 벡터간 정보를 비교 가능하다. 자연어 처리의 역사~2014년까지Word2vec 사용. 단어의 특징 벡터를 처리문장 분류 / 토큰 분류를 해 내었다.10M 파라미터. 2015~2107년까..
pytorch에서 모델을 로딩할 때, state_dict_path로 .pth 파일로 불러오고 load_state_dict를 하면 에러가 뜨는 현상이 발생했다.state_dict = torch.load(model_state_dict_path)self.model.load_state_dict(new_state_dict) 다른 모델 구조라면 어쩔 수 없이 strict를 써야 되겠지만, 심지어는 같은 모델인데도 이런 현상이 발생한다. 대충 이럴 때는 state_dict에 있는 모델 레이어의 이름과 전이학습된 모델 레이어의 이름이 달라서 그렇다.따라서 state_dict를 살펴 본 후, 해당 이름을 제거해주면 해결된다.class LitCustomModel(L.LightningModule): def __init..
첫번째 코테라 그런지 난이도는 그리 어렵지 않았다. 프로그래머스 레벨 1~2 정도. 코딩 마스터스에서 마스터를 따기 위해 꾸준히 해서 70문제를 푼 보람이 있는지 쉽게 느껴진 것 같기도 하다. 특이한 점이 있다면, 확실히 AI 트랙 문제 답게 numpy를 이용하면 정말 쉽게 풀리는 문제들 위주로 나왔다. 이번 네이버 코딩 테스트에서도 numpy를 이용한 풀이법을 제시했었는데, 아쉽게도 2/4솔로 탈락. 그래서 여기에서만큼은 numpy를 이용해서 문제를 간결하게 바꾸는 방법을 제시했다. 문제 유출은 안되므로 요약은 여기까지. 3번 문제는 진짜 거의 다 풀었는데 시간이 모잘랐다. 함수 하나만 더 만들면 되는 거였는데..10분만 더 있었어도 풀었을 거 같다. 속도를 높이는 방법도 고려해 봐야겠다. 아무튼 2차..