Prefix Tuning은 LLM의 전체 파라미터를 조정하는 것이 아닌, 파라미터 중 prefix 부분만 fine tuning 시키는 기법입니다. LoRA는 LLM에 별도 학습된 레이어를 추가적으로 구축 후, 기존 LLM에 합치는 것이라면, Prefix Tuning은 기존 LLM 자체를 활용해 일부만 파라미터를 수정합니다. Prefix Tuning에 대한 논문은 아래와 같습니다. https://arxiv.org/pdf/2101.00190.pdf 해당 논문에 나온 그림처럼, 기존 Transformer 모델은 그대로 두고, prefix 부분만 수정을 진행하여 특정 도메인에 더욱 특화된 fine tuning을 진행하는 것이 목표입니다. huggingface 튜토리얼을 바탕으로 sentences_allagree..
LoRA (Low Rank Adaption for Large Language Model) 는 아래 논문에서 처음 발표되었습니다. https://arxiv.org/abs/2106.09685 LoRA: Low-Rank Adaptation of Large Language Models An important paradigm of natural language processing consists of large-scale pre-training on general domain data and adaptation to particular tasks or domains. As we pre-train larger models, full fine-tuning, which retrains all model paramete..
PEFT는 huggingface에서 작업 중인 Parameter-Efficient Fine-Tuning, 즉 효율적인 파라미터 파인 튜닝입니다. Fine Tuning이란, 대부분의 일반 사용자, 개발자 입장에서 llama, gpt 같은 대규모 LLM 자체를 만드는 것은 사실상 불가능하기 때문에, 기존 LLM의 파라미터를 내가 원하는 분야에 특화되도록 파라미터 튜닝을 하는 것을 의미합니다. PEFT는 이러한 Fine Tuning을 좀 더 쉽게 할 수 있도록 huggingface에서 제공해주는 라이브러리입니다. 주요 document는 아래에서 확인 가능하며, https://huggingface.co/docs/peft/index PEFT 🤗 Accelerate integrations huggingface.co..
https://www.acmicpc.net/problem/5670 5670번: 휴대폰 자판 휴대폰에서 길이가 P인 영단어를 입력하려면 버튼을 P번 눌러야 한다. 그러나 시스템프로그래밍 연구실에 근무하는 승혁연구원은 사전을 사용해 이 입력을 더 빨리 할 수 있는 자판 모듈을 개발 www.acmicpc.net 자동완성 기능이 있는 사전을 이용해 주어진 문자열들을 만들기 위해서는 몇 개의 알파벳을 입력하여야 하는가의 문제입니다. ex) hello, hell -> h 입력 시 hell 까지 자동 완성, hello, hell, he -> h 입력 시 he 까지 자동완성, l 입력 시 hell 까지 자동완성 트라이를 이용하여 다음과 같이 풀 수 있습니다. 1) 입력으로 주어진 문자열의 마지막에 . 을 추가한다. (..
weevely 는 php를 이용해 웹 쉘, 백도어를 만드는 패키지이다. php 파일을 이용해 타겟을 조종하거나, 세션 복구 등을 진행시킨다. 실습용으로 metasploitable의 dvwa에 이를 적용해보자. 먼저 웹 쉘을 하나 만든다. weevely generate 위와 같이 php 파일이 하나 만들어진다. 이제 해당 파일을 dvwa에 업로드하자. id : admin pw : password 실습을 위해 security를 low로 설정한다. 이제 upload에 들어가 방금 생성한 shell.php를 업로드한다. ../../hackable/uploads/shell.php 가 정상적으로 업로드 되었다. 현재 url이 http://192.168.184.130/dvwa/vulnerabilities/upload..