EddieLEEYH/peft-hands-on
0
π§© PEFT Hands-on
Parameter-Efficient Fine-Tuning (PEFT) κΈ°λ²λ€μ μ΄λ³΄μλ μ½κ² μ΄ν΄νκ³ μ€μ΅ν μ μλ λνν νν 리μΌμ λλ€.
β¨ μ§μνλ PEFT λ°©λ²
- LoRA - Low-Rank Adaptation (0.8% νλΌλ―Έν°)
- DoRA - Weight-Decomposed LoRA (0.8% νλΌλ―Έν°)
- AdaLoRA - Adaptive LoRA (0.8% νλΌλ―Έν°)
- QLoRA - 4-bit Quantized LoRA (12.5% νλΌλ―Έν°)
- IAΒ³ - Infused Adapter (0.04% νλΌλ―Έν°)
- Prefix Tuning - Virtual Token Prefix (0.1% νλΌλ―Έν°)
- Prompt Tuning - Virtual Token Prompt (0.05% νλΌλ―Έν°)
π μ¬μ© λ°©λ²
- μ’μΈ‘ μ¬μ΄λλ°μμ μνλ PEFT λ°©λ² μ ν
- νμ΄νΌνλΌλ―Έν° μ€μ (κΈ°λ³Έκ° κΆμ₯)
- νμ΅ μ€ν λ²νΌ ν΄λ¦
- μ€μκ° κ²°κ³Ό νμΈ λ° μκ°ν
π νΉμ§
- π¨ μ΄λ±νμλ μ΄ν΄ν μ μλ μμΈν μ€λͺ
- π μνμ μ리λ₯Ό μκ°νλ‘ μ§κ΄μ μ΄ν΄
- π§ μ€μ ꡬν κ°μ΄λ μ 곡
- π νκΈ μλ²½ μ§μ (κ·Έλν, μ€λͺ , UI)
- π» μ€μ΅ κ°λ₯ν νμ΅ νκ²½ μ 곡
π λ§ν¬
- GitHub: LEEYH205/peft_streamlit
- Streamlit Cloud: PEFT-Hands-on-lyh205
π νλ‘μ νΈ κ΅¬μ‘°
peft-streamlit/
βββ app.py # λ©μΈ Streamlit μ±
βββ pages/ # PEFT λ°©λ²λ³ νμ΄μ§
β βββ 1_LoRA.py # LoRA μ€μ΅
β βββ 2_DoRA.py # DoRA μ€μ΅
β βββ 3_AdaLoRA.py # AdaLoRA μ€μ΅
β βββ 4_QLoRA.py # QLoRA μ€μ΅
β βββ 5_IA3.py # IAΒ³ μ€μ΅
β βββ 6_Prefix_P_Tuning.py # Prefix/Prompt Tuning μ€μ΅
β βββ 7_Evaluate_and_Compare.py # νκ° λ° λΉκ΅
βββ peft_utils/ # PEFT μ νΈλ¦¬ν°
β βββ data.py # λ°μ΄ν° λ‘λ©
β βββ model.py # λͺ¨λΈ μ€μ
β βββ train.py # νμ΅ λ‘μ§
β βββ eval.py # νκ° λ‘μ§
β βββ viz.py # μκ°ν
βββ data/ # λ°μ΄ν° νμΌ
βββ tiny_instruct.jsonlπ λΉ λ₯Έ μμ
# μ μ₯μ ν΄λ‘
git clone https://github.com/LEEYH205/peft_streamlit.git
cd peft-streamlit
# μμ‘΄μ± μ€μΉ
pip install -r requirements.txt
# Streamlit μ± μ€ν
streamlit run app.pyπ νμ΅ κ°μ΄λ
μ΄λ³΄μλ₯Ό μν λ¨κ³λ³ νμ΅
- κΈ°λ³Έ κ°λ μ΄ν΄: LoRAλΆν° μμ
- μ€μ΅ κ²½ν: μ€μ νμ΅ μ€ν
- κ³ κΈ κΈ°λ²: DoRA, AdaLoRA λ±
- μ±λ₯ λΉκ΅: λ€μν λ°©λ² λΉκ΅
κ° PEFT λ°©λ²λ³ νΉμ§
- LoRA: κ°μ₯ κΈ°λ³Έμ μ΄κ³ μμ μ μΈ λ°©λ²
- DoRA: LoRAμ κ°μ€μΉ λΆν΄ λ²μ
- AdaLoRA: μ μμ LoRA
- QLoRA: 4-bit μμνλ‘ λ©λͺ¨λ¦¬ ν¨μ¨μ
- IAΒ³: κ°μ₯ μ μ νλΌλ―Έν° μ¬μ©
- Prefix/Prompt Tuning: κ°μ ν ν° κΈ°λ°
π€ κΈ°μ¬νκΈ°
νλ‘μ νΈμ κΈ°μ¬νκ³ μΆμΌμλ€λ©΄:
- Fork μ μ₯μ
- Feature branch μμ±
- λ³κ²½μ¬ν 컀λ°
- Pull Request μμ±
π λΌμ΄μ μ€
μ΄ νλ‘μ νΈλ MIT License νμ λ°°ν¬λ©λλ€.
β μ΄ νλ‘μ νΈκ° λμμ΄ λμλ€λ©΄ GitHubμ μ€νλ₯Ό λλ¬μ£ΌμΈμ!
π‘ λ¬Έμ κ° λ°μνκ±°λ κ°μ μ¬νμ΄ μλ€λ©΄ GitHub Issuesμ λ±λ‘ν΄μ£ΌμΈμ!
