본문 바로가기

ML

(57)
The Instruction Hierarchy: Training LLMs to Prioritize Privileged Instructions https://arxiv.org/pdf/2404.13208  요약프롬프트상에서 사용자의 프롬프트를 막게 되면 답변의 질이 떨어지게 된다.모델 생성시 보안에 대한 추가적인 학습을 통해서 해야만 좋은 성능을 보일수 있다. (일반 프롬프트단에서는 방법없음..괜히 읽었나…) Abstract오늘날의 LLM은 프롬프트 인젝션, 탈옥 및 기타 공격에 취약하여 공격자가 모델의 원래 지침을 악의적인 프롬프트로 덮어쓸 수 있습니다.이 연구에서는 이러한 공격의 근간이 되는 주요 취약점 중 하나는 LLM이 시스템 프롬프트(예: 애플리케이션 개발자의 텍스트)를 신뢰할 수 없는 사용자 및 제3자가 보낸 텍스트와 동일한 우선순위로 간주하는 경우가 많다는 점이라고 주장합니다.이 문제를 해결하기 위해 우선순위가 다른 명령어가 충돌할 ..
Error: unsupported locale setting File /opt/conda/lib/python3.11/locale.py:626, in setlocale(category, locale) 623 if locale and not isinstance(locale, _builtin_str): 624 # convert to string 625 locale = normalize(_build_localename(locale))--> 626 return _setlocale(category, locale)Error: unsupported locale setting한글 텍스트 분석을 하는 도중 위와 같이 에러가 발생했습니다. 아래 명령어를 통해 셋팅하는 과정에서 발생한 에러입니다.locale.setlocale(locale.LC_ALL, '..
[개인프로젝트] 나만의 추천시스템 만들기 (2) 이전 포스팅  :  https://uiandwe.tistory.com/1483 1편에 이어 추천시스템 개선을 해보려 합니다.이번 주요 사항은 sklearn의 기본 vector 함수를 사용하는게 아닌, bert모델을 사용하여 vector 임베딩을 하고, 해당 벡터 값을 통해 추천시스템을 만드는겁니다. bert 모델을 사용한 간단한 추천 구현전체적인 로직은 다음과 같습니다.  1편과 내용이 똑같아서 코드는 제외했습니다. 아래의 내용은 이번 글에서는 제외했습니다. 1. 데이터 수집 : wanted에서 데이터를 수집해 옵니다. (크롤링)                 2. 수집된 내용을 사용자 평가 (기본 데이터로 쓰임)                                    3. 데이터 저장 : 이미지 ..
[개인프로젝트] 나만의 추천시스템 만들기 (1) 요즘 한창 원티드를 기웃 거리고 있는 중, 추천 포지션과 기업들이 이상하게 나오는게 눈에 띄었다.이력서에 넣지도 않은 프론트엔드 관련 jd의 합격 예측이 90%가 넘어가는거.    대체 왜? 라는 의문과 함께 한번 나만의 추천을 만들어볼까? 하는 마음에 시작하게 되었다. 1. 추천시스템?서비스에는 다양한 종류의 콘텐츠 및 상품을 추천하는 서비스들이 있습니다. 기본적으로는 아이템기반과 유저 기반을 나눌수 있습니다.유저기반 : 나와 비슷한 사람이 본 컨텐츠를 추천아이템 : 내가 본 아이템과 비슷한 아이템 추천이중에서 나는 다른 사람의 데이터는 알수 없으므로, 아이템 기반으로 가닥을 잡았습니다.  구축하려는 것은 Multi-stage recommendation system을 통해 범용 시스템을 개발해보려 합니..
[MLOps] Triton을 활용한 모델 배포 스마일게이트에서 제공한 데이터를 기반으로 욕설분류 bert 모델을 만들었다. 기본 소스는 다음과 같다.https://colab.research.google.com/drive/1NKYYVSex__vde-lnYCmsRmyHjJhV6cKt?usp=sharing#scrollTo=Wi1qd6i8__Jl[위의 설명은 이전 포스팅인 https://uiandwe.tistory.com/1395 에 있다]  1.Triton Inference Server  Triton Inference Server는 GPU 장비를 효과적으로 사용하면서 리소스 비용을 절약하기 위해 일종의 GPU전용 서버를 하나 만들어서 다양한 모델들을 서빙할수 있도록 돕는 추론 서버 역활을 맡은 고성능 추론에 최적화된 오픈소스 소프트웨어입니다. 다양한 모델..
Failed to initialize NVML: Driver/library version mismatch nvidia-smi 실행시  오류 발생Failed to initialize NVML: Driver/library version mismatch 해결책 먼저 현재 nvidia 실행중인 프로세서를 모두 kill 한다.sudo lsof /dev/nvidia* kill -9  다시 lsof 로 검색시 나오는게 없으면 다음으로 진행sudo lsof /dev/nvidia*  nvidia 관련 모듈 재시작sudo rmmod nvidia_drmsudo rmmod nvidia_modesetsudo rmmod nvidia_uvmsudo rmmod nvidiasudo modprobe nvidia  정상 동작 확인$ nvidia-smi  끝
[논문리뷰] KNOWLEDGE SOLVER: TEACHING LLMS TO SEARCH FORDOMAIN KNOWLEDGE FROM KNOWLEDGE GRAPHS https://arxiv.org/pdf/2309.03118 나의 결론 : graph search를 통해 LLM의 성능을 향상 시킬수 있다 (파인튜닝시에도 유용하게 사용할 수 있다) AbstractChatGPT 및 GPT-4와 같은 대규모 언어 모델(LLM)은 다양한 작업을 해결할 수 있습니다. 그러나 LLM은 때때로 작업을 수행하기 위한 도메인별 지식이 부족하여 추론 중 환각을 유발하기도 합니다. 이전 연구에서는 도메인별 지식 부족 문제를 완화하기 위해 외부 지식 기반에서 검색된 지식에 대해 그래프 신경망(GNN)과 같은 추가 모듈을 학습시켜 도메인별 지식 부족 문제를 완화했습니다.하지만 추가 모듈을 통합하려면1) 새로운 도메인을 접할 때 추가 모듈을 재학습2) LLM의 강력한 능력을 충분히 활용하지 못..
[논문 리뷰] RoBERTa: A Robustly Optimized BERT Pretraining Approach https://arxiv.org/pdf/1907.11692 결론기존 BERT 성능을 다음을 통해 향상 시킬 수 있었음• 더 많은 데이터에 대한 더 큰 배치 사이즈를 사용해 더 오래 학습• NSP 삭제• Dynamic Masking• 더 많은 sequence로 학습을 통해성능 향상    요약언어 모델 사전 학습은 상당한 성능 향상을 가져왔지만 다양한 접근 방식을 신중하게 비교하기는 어렵습니다. 훈련은 계산 비용이 많이 들고, 종종 다양한 크기의 비공개 데이터 세트에서 수행되며, 많은 주요 하이퍼파라미터와 학습 데이터 크기의 영향을 측정합니다. 그 결과, BERT는 훈련이 상당히 부족했으며, 그 이후에 발표된 모든 모델의 성능과 일치하거나 능가할 수 있는 것으로 나타났습니다.이전에 간과되었던 설계 선택의 중..