ਛੋਟਾ ਜਵਾਬ: AI ਮਾਡਲਾਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਲਈ, ਇੱਕ ਪ੍ਰਾਇਮਰੀ ਰੁਕਾਵਟ (ਲੇਟੈਂਸੀ, ਲਾਗਤ, ਮੈਮੋਰੀ, ਗੁਣਵੱਤਾ, ਸਥਿਰਤਾ, ਜਾਂ ਥਰੂਪੁੱਟ) ਚੁਣੋ, ਫਿਰ ਕੁਝ ਵੀ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਭਰੋਸੇਯੋਗ ਬੇਸਲਾਈਨ ਕੈਪਚਰ ਕਰੋ। ਪਹਿਲਾਂ ਪਾਈਪਲਾਈਨ ਰੁਕਾਵਟਾਂ ਨੂੰ ਹਟਾਓ, ਫਿਰ ਮਿਸ਼ਰਤ ਸ਼ੁੱਧਤਾ ਅਤੇ ਬੈਚਿੰਗ ਵਰਗੇ ਘੱਟ-ਜੋਖਮ ਵਾਲੇ ਲਾਭ ਲਾਗੂ ਕਰੋ; ਜੇਕਰ ਗੁਣਵੱਤਾ ਬਰਕਰਾਰ ਰਹਿੰਦੀ ਹੈ, ਤਾਂ ਕੰਪਾਈਲਰ/ਰਨਟਾਈਮ ਟੂਲਿੰਗ 'ਤੇ ਜਾਓ ਅਤੇ ਫਿਰ ਲੋੜ ਪੈਣ 'ਤੇ ਕੁਆਂਟਾਈਜ਼ੇਸ਼ਨ ਜਾਂ ਡਿਸਟਿਲੇਸ਼ਨ ਰਾਹੀਂ ਮਾਡਲ ਆਕਾਰ ਘਟਾਓ।
ਮੁੱਖ ਗੱਲਾਂ:
ਪਾਬੰਦੀ : ਇੱਕ ਜਾਂ ਦੋ ਟਾਰਗੇਟ ਮੈਟ੍ਰਿਕਸ ਚੁਣੋ; ਅਨੁਕੂਲਤਾ ਵਪਾਰ-ਆਫ ਦਾ ਇੱਕ ਦ੍ਰਿਸ਼ ਹੈ, ਮੁਫਤ ਜਿੱਤਾਂ ਦਾ ਨਹੀਂ।
ਮਾਪ : p50/p95/p99, ਥਰੂਪੁੱਟ, ਉਪਯੋਗਤਾ, ਅਤੇ ਮੈਮੋਰੀ ਸਿਖਰਾਂ ਦੇ ਨਾਲ ਅਸਲ ਵਰਕਲੋਡ ਦੀ ਪ੍ਰੋਫਾਈਲ।
ਪਾਈਪਲਾਈਨ : ਮਾਡਲ ਨੂੰ ਛੂਹਣ ਤੋਂ ਪਹਿਲਾਂ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ, ਡੇਟਾਲੋਡਰ, ਪ੍ਰੀਪ੍ਰੋਸੈਸਿੰਗ ਅਤੇ ਬੈਚਿੰਗ ਨੂੰ ਠੀਕ ਕਰੋ।
ਸਰਵਿੰਗ : ਕੈਚਿੰਗ, ਜਾਣਬੁੱਝ ਕੇ ਬੈਚਿੰਗ, ਕਨਕਰੰਸੀ ਟਿਊਨਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰੋ, ਅਤੇ ਟੇਲ ਲੇਟੈਂਸੀ 'ਤੇ ਨੇੜਿਓਂ ਨਜ਼ਰ ਰੱਖੋ।
ਗਾਰਡਰੇਲ : ਹਰੇਕ ਪ੍ਰਦਰਸ਼ਨ ਤਬਦੀਲੀ ਤੋਂ ਬਾਅਦ ਸੁਨਹਿਰੀ ਪ੍ਰੋਂਪਟ, ਟਾਸਕ ਮੈਟ੍ਰਿਕਸ ਅਤੇ ਸਪਾਟ ਜਾਂਚ ਚਲਾਓ।

🔗 AI ਮਾਡਲਾਂ ਦਾ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਮੁਲਾਂਕਣ ਕਿਵੇਂ ਕਰੀਏ
ਮਾਡਲਾਂ ਦਾ ਨਿਰਪੱਖ ਅਤੇ ਭਰੋਸੇਯੋਗ ਢੰਗ ਨਾਲ ਨਿਰਣਾ ਕਰਨ ਲਈ ਮੁੱਖ ਮਾਪਦੰਡ ਅਤੇ ਕਦਮ।
🔗 ਅਸਲ ਮੈਟ੍ਰਿਕਸ ਨਾਲ AI ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਕਿਵੇਂ ਮਾਪਣਾ ਹੈ
ਤੁਲਨਾ ਕਰਨ ਲਈ ਬੈਂਚਮਾਰਕ, ਲੇਟੈਂਸੀ, ਲਾਗਤ ਅਤੇ ਗੁਣਵੱਤਾ ਸੰਕੇਤਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ।
🔗 ਉਤਪਾਦਨ ਤੋਂ ਪਹਿਲਾਂ AI ਮਾਡਲਾਂ ਦੀ ਜਾਂਚ ਕਿਵੇਂ ਕਰੀਏ
ਪ੍ਰੈਕਟੀਕਲ ਟੈਸਟਿੰਗ ਵਰਕਫਲੋ: ਡੇਟਾ ਸਪਲਿਟਸ, ਤਣਾਅ ਦੇ ਮਾਮਲੇ, ਅਤੇ ਨਿਗਰਾਨੀ।
🔗 ਸਮੱਗਰੀ ਬਣਾਉਣ ਲਈ AI ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ।
ਢਾਂਚਾਗਤ ਪ੍ਰੋਂਪਟ ਅਤੇ ਦੁਹਰਾਓ ਨਾਲ ਵਿਚਾਰਾਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਡਰਾਫਟ ਵਿੱਚ ਬਦਲੋ।
1) ਅਭਿਆਸ ਵਿੱਚ "ਅਨੁਕੂਲ" ਦਾ ਕੀ ਅਰਥ ਹੈ (ਕਿਉਂਕਿ ਹਰ ਕੋਈ ਇਸਨੂੰ ਵੱਖਰੇ ਢੰਗ ਨਾਲ ਵਰਤਦਾ ਹੈ) 🧠
ਜਦੋਂ ਲੋਕ ਕਹਿੰਦੇ ਹਨ "ਇੱਕ AI ਮਾਡਲ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਓ," ਤਾਂ ਉਹਨਾਂ ਦਾ ਮਤਲਬ ਹੋ ਸਕਦਾ ਹੈ:
-
ਇਸਨੂੰ ਤੇਜ਼ ਬਣਾਓ (ਘੱਟ ਲੇਟੈਂਸੀ)
-
ਇਸਨੂੰ ਸਸਤਾ ਬਣਾਓ (ਘੱਟ GPU-ਘੰਟੇ, ਘੱਟ ਕਲਾਉਡ ਖਰਚ)
-
ਇਸਨੂੰ ਛੋਟਾ ਕਰੋ (ਮੈਮੋਰੀ ਫੁੱਟਪ੍ਰਿੰਟ, ਕਿਨਾਰੇ ਦੀ ਤੈਨਾਤੀ)
-
ਇਸਨੂੰ ਹੋਰ ਸਟੀਕ ਬਣਾਓ (ਗੁਣਵੱਤਾ ਵਿੱਚ ਸੁਧਾਰ, ਘੱਟ ਭਰਮ)
-
ਇਸਨੂੰ ਹੋਰ ਸਥਿਰ ਬਣਾਓ (ਘੱਟ ਭਿੰਨਤਾ, ਉਤਪਾਦਨ ਵਿੱਚ ਘੱਟ ਅਸਫਲਤਾਵਾਂ)
-
ਸੇਵਾ ਨੂੰ ਆਸਾਨ ਬਣਾਓ (ਥਰੂਪੁੱਟ, ਬੈਚਿੰਗ, ਅਨੁਮਾਨਯੋਗ ਪ੍ਰਦਰਸ਼ਨ)
ਇਹ ਥੋੜ੍ਹਾ ਜਿਹਾ ਤੰਗ ਕਰਨ ਵਾਲਾ ਸੱਚ ਹੈ: ਤੁਸੀਂ ਇਹਨਾਂ ਸਾਰਿਆਂ ਨੂੰ ਇੱਕੋ ਵਾਰ ਵਿੱਚ ਵੱਧ ਤੋਂ ਵੱਧ ਨਹੀਂ ਕਰ ਸਕਦੇ। ਅਨੁਕੂਲਤਾ ਇੱਕ ਗੁਬਾਰੇ ਨੂੰ ਨਿਚੋੜਨ ਵਾਂਗ ਹੈ - ਇੱਕ ਪਾਸੇ ਨੂੰ ਅੰਦਰ ਧੱਕੋ ਅਤੇ ਦੂਜਾ ਪਾਸਾ ਬਾਹਰ ਆ ਜਾਂਦਾ ਹੈ। ਹਮੇਸ਼ਾ ਨਹੀਂ, ਪਰ ਅਕਸਰ ਇੰਨਾ ਹੁੰਦਾ ਹੈ ਕਿ ਤੁਹਾਨੂੰ ਵਪਾਰ ਲਈ ਯੋਜਨਾ ਬਣਾਉਣੀ ਚਾਹੀਦੀ ਹੈ।.
ਪ੍ਰਾਇਮਰੀ ਪਾਬੰਦੀ ਚੁਣੋ :
-
ਜੇਕਰ ਤੁਸੀਂ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਲਾਈਵ ਸੇਵਾ ਦੇ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ p95 ਲੇਟੈਂਸੀ ( AWS CloudWatch ਪ੍ਰਤੀਸ਼ਤ ) ਅਤੇ ਟੇਲ ਪ੍ਰਦਰਸ਼ਨ ( "ਟੇਲ ਲੇਟੈਂਸੀ" ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸ ) ਦੀ ਪਰਵਾਹ ਹੈ 📉
-
ਜੇਕਰ ਤੁਸੀਂ ਸਿਖਲਾਈ ਲੈ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਸਮੇਂ-ਦਰ-ਗੁਣਵੱਤਾ ਅਤੇ GPU ਵਰਤੋਂ ਦੀ ਪਰਵਾਹ ਹੈ 🔥
-
ਜੇਕਰ ਤੁਸੀਂ ਡਿਵਾਈਸਾਂ 'ਤੇ ਤੈਨਾਤ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ RAM ਅਤੇ ਪਾਵਰ ਦੀ 🔋
2) AI ਮਾਡਲ ਔਪਟੀਮਾਈਜੇਸ਼ਨ ਦਾ ਕਿੰਨਾ ਵਧੀਆ ਵਰਜਨ ਦਿਖਦਾ ਹੈ ✅
ਅਨੁਕੂਲਤਾ ਦਾ ਇੱਕ ਚੰਗਾ ਸੰਸਕਰਣ ਸਿਰਫ਼ "ਕੁਆਂਟਾਈਜ਼ੇਸ਼ਨ ਲਾਗੂ ਕਰੋ ਅਤੇ ਪ੍ਰਾਰਥਨਾ ਕਰੋ" ਨਹੀਂ ਹੈ। ਇਹ ਇੱਕ ਸਿਸਟਮ ਹੈ। ਸਭ ਤੋਂ ਵਧੀਆ ਸੈੱਟਅੱਪਾਂ ਵਿੱਚ ਆਮ ਤੌਰ 'ਤੇ ਇਹ ਹੁੰਦੇ ਹਨ:
-
ਇੱਕ ਬੇਸਲਾਈਨ ਜਿਸ 'ਤੇ ਤੁਸੀਂ ਭਰੋਸਾ ਕਰਦੇ ਹੋ
ਜੇਕਰ ਤੁਸੀਂ ਆਪਣੇ ਮੌਜੂਦਾ ਨਤੀਜਿਆਂ ਨੂੰ ਦੁਬਾਰਾ ਨਹੀਂ ਬਣਾ ਸਕਦੇ, ਤਾਂ ਤੁਸੀਂ ਨਹੀਂ ਜਾਣ ਸਕਦੇ ਕਿ ਤੁਸੀਂ ਕੁਝ ਵੀ ਸੁਧਾਰਿਆ ਹੈ। ਸਧਾਰਨ... ਪਰ ਲੋਕ ਇਸਨੂੰ ਛੱਡ ਦਿੰਦੇ ਹਨ। ਫਿਰ ਉਹ ਘੁੰਮਦੇ ਹਨ। -
ਇੱਕ ਸਪੱਸ਼ਟ ਟੀਚਾ ਮੈਟ੍ਰਿਕ
"ਤੇਜ਼" ਅਸਪਸ਼ਟ ਹੈ। "ਉਸੇ ਕੁਆਲਿਟੀ ਸਕੋਰ 'ਤੇ p95 ਲੇਟੈਂਸੀ ਨੂੰ 900ms ਤੋਂ 300ms ਤੱਕ ਘਟਾਓ" ਇੱਕ ਅਸਲ ਟੀਚਾ ਹੈ। -
ਗੁਣਵੱਤਾ ਲਈ ਗਾਰਡਰੇਲ
ਹਰੇਕ ਪ੍ਰਦਰਸ਼ਨ ਜਿੱਤ ਇੱਕ ਚੁੱਪ ਗੁਣਵੱਤਾ ਪ੍ਰਤੀਰੋਧ ਦਾ ਜੋਖਮ ਲੈਂਦੀ ਹੈ। ਤੁਹਾਨੂੰ ਟੈਸਟਾਂ, ਮੁਲਾਂਕਣਾਂ, ਜਾਂ ਘੱਟੋ ਘੱਟ ਇੱਕ ਸੈਨਿਟੀ ਸੂਟ ਦੀ ਲੋੜ ਹੈ। -
ਹਾਰਡਵੇਅਰ ਜਾਗਰੂਕਤਾ
ਇੱਕ GPU 'ਤੇ ਇੱਕ "ਤੇਜ਼" ਮਾਡਲ ਦੂਜੇ GPU 'ਤੇ ਘੁੰਮ ਸਕਦਾ ਹੈ। CPU ਆਪਣੀ ਖਾਸ ਕਿਸਮ ਦੀ ਹਫੜਾ-ਦਫੜੀ ਹਨ। -
ਦੁਹਰਾਓ ਵਾਲੇ ਬਦਲਾਅ, ਇੱਕ ਵੱਡਾ-ਧਮਾਕਾ ਦੁਬਾਰਾ ਲਿਖਣਾ ਨਹੀਂ
ਜਦੋਂ ਤੁਸੀਂ ਇੱਕੋ ਸਮੇਂ ਪੰਜ ਚੀਜ਼ਾਂ ਬਦਲਦੇ ਹੋ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਵਿੱਚ ਸੁਧਾਰ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਨੂੰ ਨਹੀਂ ਪਤਾ ਹੁੰਦਾ ਕਿ ਕਿਉਂ। ਜੋ ਕਿ... ਬੇਚੈਨ ਕਰਨ ਵਾਲਾ ਹੈ।
ਔਪਟੀਮਾਈਜੇਸ਼ਨ ਨੂੰ ਗਿਟਾਰ ਟਿਊਨ ਕਰਨ ਵਾਂਗ ਮਹਿਸੂਸ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ - ਛੋਟੀਆਂ-ਛੋਟੀਆਂ ਵਿਵਸਥਾਵਾਂ, ਧਿਆਨ ਨਾਲ ਸੁਣੋ, ਦੁਹਰਾਓ 🎸। ਜੇਕਰ ਇਹ ਚਾਕੂਆਂ ਨਾਲ ਛੇੜਛਾੜ ਕਰਨ ਵਰਗਾ ਮਹਿਸੂਸ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਕੁਝ ਗੜਬੜ ਹੈ।.
3) ਤੁਲਨਾ ਸਾਰਣੀ: AI ਮਾਡਲਾਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਲਈ ਪ੍ਰਸਿੱਧ ਵਿਕਲਪ 📊
ਹੇਠਾਂ ਆਮ ਅਨੁਕੂਲਨ ਸਾਧਨਾਂ/ਪਹੁੰਚਾਂ ਦੀ ਇੱਕ ਤੇਜ਼ ਅਤੇ ਥੋੜ੍ਹੀ ਜਿਹੀ ਅਸਪਸ਼ਟ ਤੁਲਨਾ ਸਾਰਣੀ ਹੈ। ਨਹੀਂ, ਇਹ ਪੂਰੀ ਤਰ੍ਹਾਂ "ਨਿਰਪੱਖ" ਨਹੀਂ ਹੈ - ਅਸਲ ਜ਼ਿੰਦਗੀ ਵੀ ਨਹੀਂ ਹੈ।.
| ਔਜ਼ਾਰ / ਵਿਕਲਪ | ਦਰਸ਼ਕ | ਕੀਮਤ | ਇਹ ਕਿਉਂ ਕੰਮ ਕਰਦਾ ਹੈ |
|---|---|---|---|
ਪਾਈਟੋਰਚ ਟੌਰਚ.ਕੰਪਾਈਲ ( ਪਾਈਟੋਰਚ ਡੌਕਸ ) |
ਪਾਈਟੋਰਚ ਲੋਕ | ਮੁਫ਼ਤ | ਗ੍ਰਾਫ਼ ਕੈਪਚਰ + ਕੰਪਾਈਲਰ ਟ੍ਰਿਕਸ ਓਵਰਹੈੱਡ ਨੂੰ ਘਟਾ ਸਕਦੇ ਹਨ... ਕਈ ਵਾਰ ਇਹ ਜਾਦੂ ਹੁੰਦਾ ਹੈ ✨ |
| ONNX ਰਨਟਾਈਮ ( ONNX ਰਨਟਾਈਮ ਦਸਤਾਵੇਜ਼ ) | ਤੈਨਾਤੀ ਟੀਮਾਂ | ਫ੍ਰੀ-ਇਸ਼ | ਮਜ਼ਬੂਤ ਅਨੁਮਾਨ ਅਨੁਕੂਲਨ, ਵਿਆਪਕ ਸਮਰਥਨ, ਮਿਆਰੀ ਸੇਵਾ ਲਈ ਵਧੀਆ |
| ਟੈਂਸਰਆਰਟੀ ( ਐਨਵੀਆਈਡੀਆ ਟੈਂਸਰਆਰਟੀ ਦਸਤਾਵੇਜ਼ ) | NVIDIA ਤੈਨਾਤੀ | ਭੁਗਤਾਨ ਕੀਤੇ ਵਾਈਬਸ (ਅਕਸਰ ਬੰਡਲ ਕੀਤੇ) | ਹਮਲਾਵਰ ਕਰਨਲ ਫਿਊਜ਼ਨ + ਸ਼ੁੱਧਤਾ ਹੈਂਡਲਿੰਗ, ਜਦੋਂ ਇਹ ਕਲਿੱਕ ਕਰਦਾ ਹੈ ਤਾਂ ਬਹੁਤ ਤੇਜ਼ |
| ਡੀਪਸਪੀਡ ( ਜ਼ੀਰੋ ਡੌਕਸ ) | ਸਿਖਲਾਈ ਟੀਮਾਂ | ਮੁਫ਼ਤ | ਮੈਮੋਰੀ + ਥਰੂਪੁੱਟ ਅਨੁਕੂਲਤਾ (ਜ਼ੀਰੋ ਆਦਿ)। ਇੱਕ ਜੈੱਟ ਇੰਜਣ ਵਾਂਗ ਮਹਿਸੂਸ ਹੋ ਸਕਦਾ ਹੈ। |
| FSDP (ਪਾਈਟੋਰਚ) ( ਪਾਈਟੋਰਚ FSDP ਦਸਤਾਵੇਜ਼ ) | ਸਿਖਲਾਈ ਟੀਮਾਂ | ਮੁਫ਼ਤ | ਪੈਰਾਮੀਟਰਾਂ/ਗ੍ਰੇਡੀਐਂਟਾਂ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ, ਵੱਡੇ ਮਾਡਲਾਂ ਨੂੰ ਘੱਟ ਡਰਾਉਣਾ ਬਣਾਉਂਦਾ ਹੈ |
| ਬਿਟਸਐਂਡਬਾਈਟਸ ਕੁਆਂਟਾਈਜ਼ੇਸ਼ਨ ( ਬਿਟਸਐਂਡਬਾਈਟਸ ) | ਐਲਐਲਐਮ ਟਿੰਕਰਰ | ਮੁਫ਼ਤ | ਘੱਟ-ਬਿੱਟ ਵਜ਼ਨ, ਵੱਡੀ ਮੈਮੋਰੀ ਬੱਚਤ - ਗੁਣਵੱਤਾ ਨਿਰਭਰ ਕਰਦੀ ਹੈ, ਪਰ ਵਾਹ 😬 |
| ਡਿਸਟਿਲੇਸ਼ਨ ( ਹਿੰਟਨ ਐਟ ਅਲ., 2015 ) | ਉਤਪਾਦ ਟੀਮਾਂ | "ਸਮੇਂ ਦੀ ਕੀਮਤ" | ਛੋਟੇ ਵਿਦਿਆਰਥੀ ਮਾਡਲ ਨੂੰ ਵਿਵਹਾਰ ਵਿਰਾਸਤ ਵਿੱਚ ਮਿਲਦਾ ਹੈ, ਆਮ ਤੌਰ 'ਤੇ ਸਭ ਤੋਂ ਵਧੀਆ ROI ਲੰਬੇ ਸਮੇਂ ਲਈ |
| ਛਾਂਟੀ ( ਪਾਈਟੋਰਚ ਛਾਂਟੀ ਟਿਊਟੋਰਿਅਲ ) | ਖੋਜ + ਉਤਪਾਦ | ਮੁਫ਼ਤ | ਡੈੱਡ ਵਜ਼ਨ ਨੂੰ ਹਟਾਉਂਦਾ ਹੈ। ਰੀਟ੍ਰੇਨਿੰਗ ਦੇ ਨਾਲ ਜੋੜਨ 'ਤੇ ਬਿਹਤਰ ਕੰਮ ਕਰਦਾ ਹੈ। |
| ਫਲੈਸ਼ ਅਟੈਂਸ਼ਨ / ਫਿਊਜ਼ਡ ਕਰਨਲ ( ਫਲੈਸ਼ ਅਟੈਂਸ਼ਨ ਪੇਪਰ ) | ਪ੍ਰਦਰਸ਼ਨ ਦੇ ਪ੍ਰੇਮੀ | ਮੁਫ਼ਤ | ਤੇਜ਼ ਧਿਆਨ, ਬਿਹਤਰ ਯਾਦਦਾਸ਼ਤ ਵਿਵਹਾਰ। ਟ੍ਰਾਂਸਫਾਰਮਰਾਂ ਲਈ ਅਸਲ ਜਿੱਤ |
| ਟ੍ਰਾਈਟਨ ਇਨਫਰੈਂਸ ਸਰਵਰ ( ਡਾਇਨਾਮਿਕ ਬੈਚਿੰਗ ) | ਓਪਸ/ਇਨਫਰਾ | ਮੁਫ਼ਤ | ਉਤਪਾਦਨ ਸੇਵਾ, ਬੈਚਿੰਗ, ਮਲਟੀ-ਮਾਡਲ ਪਾਈਪਲਾਈਨਾਂ - ਉੱਦਮ ਵਰਗਾ ਮਹਿਸੂਸ ਹੁੰਦਾ ਹੈ |
ਫਾਰਮੈਟਿੰਗ ਦਾ ਅਜੀਬ ਇਕਬਾਲ: "ਕੀਮਤ" ਬੇਢੰਗੀ ਹੈ ਕਿਉਂਕਿ ਓਪਨ-ਸੋਰਸ ਅਜੇ ਵੀ ਤੁਹਾਨੂੰ ਡੀਬੱਗਿੰਗ ਦਾ ਇੱਕ ਵੀਕਐਂਡ ਖਰਚ ਕਰ ਸਕਦਾ ਹੈ, ਜੋ ਕਿ... ਇੱਕ ਕੀਮਤ ਹੈ। 😵💫
4) ਮਾਪ ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰੋ: ਪ੍ਰੋਫਾਈਲ ਜਿਵੇਂ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ 🔍
ਜੇਕਰ ਤੁਸੀਂ ਇਸ ਪੂਰੀ ਗਾਈਡ ਵਿੱਚੋਂ ਸਿਰਫ਼ ਇੱਕ ਹੀ ਕੰਮ ਕਰਦੇ ਹੋ, ਤਾਂ ਇਹ ਕਰੋ: ਸਹੀ ਢੰਗ ਨਾਲ ਮਾਪੋ।.
ਮੇਰੀ ਆਪਣੀ ਜਾਂਚ ਵਿੱਚ, ਸਭ ਤੋਂ ਵੱਡੀਆਂ "ਔਪਟੀਮਾਈਜੇਸ਼ਨ ਸਫਲਤਾਵਾਂ" ਸ਼ਰਮਨਾਕ ਤੌਰ 'ਤੇ ਸਧਾਰਨ ਚੀਜ਼ ਦੀ ਖੋਜ ਤੋਂ ਆਈਆਂ ਜਿਵੇਂ ਕਿ:
-
ਡਾਟਾ ਲੋਡਰ GPU ਨੂੰ ਭੁੱਖਾ ਕਰ ਰਿਹਾ ਹੈ
-
CPU ਪ੍ਰੀਪ੍ਰੋਸੈਸਿੰਗ ਰੁਕਾਵਟ
-
ਛੋਟੇ ਬੈਚ ਆਕਾਰ ਕਰਨਲ ਲਾਂਚ ਓਵਰਹੈੱਡ ਦਾ ਕਾਰਨ ਬਣ ਰਹੇ ਹਨ
-
ਹੌਲੀ ਟੋਕਨਾਈਜੇਸ਼ਨ (ਟੋਕਨਾਈਜ਼ਰ ਸ਼ਾਂਤ ਖਲਨਾਇਕ ਹੋ ਸਕਦੇ ਹਨ)
-
ਮੈਮੋਰੀ ਫ੍ਰੈਗਮੈਂਟੇਸ਼ਨ ( PyTorch CUDA ਮੈਮੋਰੀ ਐਲੋਕੇਟਰ ਨੋਟਸ )
-
ਇੱਕ ਸਿੰਗਲ ਲੇਅਰ ਹਾਵੀ ਕੰਪਿਊਟ
ਕੀ ਮਾਪਣਾ ਹੈ (ਘੱਟੋ-ਘੱਟ ਸੈੱਟ)
-
ਲੇਟੈਂਸੀ (p50, p95, p99) ( ਲੇਟੈਂਸੀ ਪ੍ਰਤੀਸ਼ਤਾਂ 'ਤੇ SRE )
-
ਥਰੂਪੁੱਟ (ਟੋਕਨ/ਸਕਿੰਟ, ਬੇਨਤੀਆਂ/ਸਕਿੰਟ)
-
GPU ਉਪਯੋਗਤਾ (ਕੰਪਿਊਟ + ਮੈਮੋਰੀ)
-
VRAM / RAM ਸਿਖਰ 'ਤੇ
-
ਪ੍ਰਤੀ 1k ਟੋਕਨ (ਜਾਂ ਪ੍ਰਤੀ ਅਨੁਮਾਨ)
ਵਿਹਾਰਕ ਪ੍ਰੋਫਾਈਲਿੰਗ ਮਾਨਸਿਕਤਾ
-
ਇੱਕ ਦ੍ਰਿਸ਼ ਦੀ ਪ੍ਰੋਫਾਈਲ ਬਣਾਓ ਜਿਸਦੀ ਤੁਸੀਂ ਪਰਵਾਹ ਕਰਦੇ ਹੋ (ਖਿਡੌਣਿਆਂ ਦਾ ਸੰਕੇਤ ਨਹੀਂ)।.
-
ਹਰ ਚੀਜ਼ ਨੂੰ ਇੱਕ ਛੋਟੀ ਜਿਹੀ "ਪਰਫੈਕਟ ਡਾਇਰੀ" ਵਿੱਚ ਰਿਕਾਰਡ ਕਰੋ।
ਹਾਂ ਇਹ ਥਕਾਵਟ ਭਰਿਆ ਹੈ... ਪਰ ਇਹ ਤੁਹਾਨੂੰ ਬਾਅਦ ਵਿੱਚ ਆਪਣੇ ਆਪ ਨੂੰ ਗੈਸਲਾਈਟ ਕਰਨ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ।
(ਜੇ ਤੁਸੀਂ ਇੱਕ ਠੋਸ ਟੂਲ ਚਾਹੁੰਦੇ ਹੋ ਜਿਸ ਨਾਲ ਸ਼ੁਰੂਆਤ ਕੀਤੀ ਜਾ ਸਕੇ: PyTorch Profiler ( torch.profiler docs ) ਅਤੇ Nsight Systems ( NVIDIA Nsight Systems ) ਆਮ ਸ਼ੱਕੀ ਹਨ।)
5) ਡੇਟਾ + ਸਿਖਲਾਈ ਅਨੁਕੂਲਨ: ਸ਼ਾਂਤ ਮਹਾਂਸ਼ਕਤੀ 📦🚀
ਲੋਕ ਮਾਡਲ ਆਰਕੀਟੈਕਚਰ ਦੇ ਜਨੂੰਨ ਵਿੱਚ ਡੁੱਬ ਜਾਂਦੇ ਹਨ ਅਤੇ ਪਾਈਪਲਾਈਨ ਨੂੰ ਭੁੱਲ ਜਾਂਦੇ ਹਨ। ਇਸ ਦੌਰਾਨ ਪਾਈਪਲਾਈਨ ਚੁੱਪਚਾਪ ਅੱਧਾ GPU ਸਾੜ ਦਿੰਦੀ ਹੈ।.
ਆਸਾਨ ਜਿੱਤਾਂ ਜੋ ਜਲਦੀ ਦਿਖਾਈ ਦਿੰਦੀਆਂ ਹਨ
-
ਮਿਸ਼ਰਤ ਸ਼ੁੱਧਤਾ (FP16/BF16 ਜਿੱਥੇ ਸਥਿਰ ਹੋਵੇ) ( PyTorch AMP / torch.amp )
ਆਮ ਤੌਰ 'ਤੇ ਤੇਜ਼, ਅਕਸਰ ਠੀਕ - ਪਰ ਸੰਖਿਆਤਮਕ ਗਲਤੀਆਂ ਲਈ ਧਿਆਨ ਰੱਖੋ। -
ਜਦੋਂ ਬੈਚ ਦਾ ਆਕਾਰ ਸੀਮਤ ਹੁੰਦਾ ਹੈ ਤਾਂ ਗਰੇਡੀਐਂਟ ਇਕੱਠਾ ਹੋਣਾ 🤗 ਐਕਸਲਰੇਟ ਗਾਈਡ )
ਮੈਮੋਰੀ ਨੂੰ ਫਟਣ ਤੋਂ ਬਿਨਾਂ ਅਨੁਕੂਲਤਾ ਨੂੰ ਸਥਿਰ ਰੱਖਦਾ ਹੈ। -
ਗਰੇਡੀਐਂਟ ਚੈੱਕਪੌਂਟਿੰਗ ( torch.utils.checkpoint )
ਮੈਮੋਰੀ ਲਈ ਕੰਪਿਊਟ ਦਾ ਵਪਾਰ ਕਰਦਾ ਹੈ - ਵੱਡੇ ਸੰਦਰਭਾਂ ਨੂੰ ਸੰਭਵ ਬਣਾਉਂਦਾ ਹੈ। -
ਕੁਸ਼ਲ ਟੋਕਨਾਈਜੇਸ਼ਨ ( 🤗 ਟੋਕਨਾਈਜ਼ਰ )
ਟੋਕਨਾਈਜੇਸ਼ਨ ਵੱਡੇ ਪੱਧਰ 'ਤੇ ਰੁਕਾਵਟ ਬਣ ਸਕਦੀ ਹੈ। ਇਹ ਗਲੈਮਰਸ ਨਹੀਂ ਹੈ; ਇਹ ਮਾਇਨੇ ਰੱਖਦਾ ਹੈ। -
ਡਾਟਾਲੋਡਰ ਟਿਊਨਿੰਗ
ਹੋਰ ਵਰਕਰ, ਪਿੰਨ ਕੀਤੀ ਮੈਮੋਰੀ, ਪ੍ਰੀਫੈਚਿੰਗ - ਅਸਪਸ਼ਟ ਪਰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ 😴➡️💪 ( ਪਾਈਟੋਰਚ ਪਰਫਾਰਮੈਂਸ ਟਿਊਨਿੰਗ ਗਾਈਡ )
ਪੈਰਾਮੀਟਰ-ਕੁਸ਼ਲ ਫਾਈਨ-ਟਿਊਨਿੰਗ
ਜੇਕਰ ਤੁਸੀਂ ਵੱਡੇ ਮਾਡਲਾਂ ਨੂੰ ਠੀਕ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ PEFT ਵਿਧੀਆਂ (ਜਿਵੇਂ ਕਿ LoRA-ਸ਼ੈਲੀ ਦੇ ਅਡਾਪਟਰ) ਹੈਰਾਨੀਜਨਕ ਤੌਰ 'ਤੇ ਮਜ਼ਬੂਤ ਰਹਿੰਦੇ ਹੋਏ ਸਿਖਲਾਈ ਦੀ ਲਾਗਤ ਨੂੰ ਬਹੁਤ ਘਟਾ ਸਕਦੀਆਂ ਹਨ ( 🤗 ਟ੍ਰਾਂਸਫਾਰਮਰ PEFT ਗਾਈਡ , LoRA ਪੇਪਰ )। ਇਹ ਉਹਨਾਂ "ਅਸੀਂ ਇਹ ਪਹਿਲਾਂ ਕਿਉਂ ਨਹੀਂ ਕੀਤਾ?" ਪਲਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ।
6) ਆਰਕੀਟੈਕਚਰ-ਪੱਧਰ ਦਾ ਅਨੁਕੂਲਨ: ਮਾਡਲ ਨੂੰ ਸੱਜਾ ਆਕਾਰ ਦਿਓ 🧩
ਕਈ ਵਾਰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਦਾ ਸਭ ਤੋਂ ਵਧੀਆ ਤਰੀਕਾ ਹੈ... ਉਸ ਮਾਡਲ ਦੀ ਵਰਤੋਂ ਬੰਦ ਕਰਨਾ ਜੋ ਕੰਮ ਲਈ ਬਹੁਤ ਵੱਡਾ ਹੋਵੇ। ਮੈਨੂੰ ਪਤਾ ਹੈ, ਬੇਅਦਬੀ 😄।.
ਕੁਝ ਮੁੱਢਲੀਆਂ ਗੱਲਾਂ 'ਤੇ ਕਾਲ ਕਰੋ:
-
ਫੈਸਲਾ ਕਰੋ ਕਿ ਤੁਹਾਨੂੰ ਪੂਰੀ ਜਨਰਲ-ਇੰਟੈਲੀਜੈਂਸ ਵਾਈਬਸ ਦੀ ਲੋੜ ਹੈ, ਜਾਂ ਕਿਸੇ ਮਾਹਰ ਦੀ।.
-
ਸੰਦਰਭ ਵਿੰਡੋ ਨੂੰ ਜਿੰਨਾ ਵੱਡਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਓਨਾ ਹੀ ਵੱਡਾ ਰੱਖੋ।.
-
ਮੌਜੂਦਾ ਕੰਮ ਲਈ ਸਿਖਲਾਈ ਪ੍ਰਾਪਤ ਮਾਡਲ ਦੀ ਵਰਤੋਂ ਕਰੋ (ਵਰਗੀਕਰਣ ਦੇ ਕੰਮ ਲਈ ਵਰਗੀਕਰਨ ਮਾਡਲ, ਅਤੇ ਇਸ ਤਰ੍ਹਾਂ ਦੇ ਹੋਰ)।.
ਵਿਹਾਰਕ ਸੱਜੇ-ਆਕਾਰ ਦੀਆਂ ਰਣਨੀਤੀਆਂ
-
ਜ਼ਿਆਦਾਤਰ ਬੇਨਤੀਆਂ ਲਈ
ਇੱਕ ਛੋਟੇ ਬੈਕਬੋਨ ਵਿੱਚ ਬਦਲੋ। ਫਿਰ "ਹਾਰਡ ਪੁੱਛਗਿੱਛਾਂ" ਨੂੰ ਇੱਕ ਵੱਡੇ ਮਾਡਲ ਤੇ ਭੇਜੋ। -
ਦੋ-ਪੜਾਅ ਵਾਲਾ ਸੈੱਟਅੱਪ ਵਰਤੋ
ਤੇਜ਼ ਮਾਡਲ ਡਰਾਫਟ, ਮਜ਼ਬੂਤ ਮਾਡਲ ਪੁਸ਼ਟੀ ਜਾਂ ਸੰਪਾਦਨ।
ਇਹ ਇੱਕ ਦੋਸਤ ਨਾਲ ਲਿਖਣ ਵਰਗਾ ਹੈ ਜੋ ਚੋਣਵਾਂ ਹੈ - ਤੰਗ ਕਰਨ ਵਾਲਾ, ਪਰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ। -
ਆਉਟਪੁੱਟ ਦੀ ਲੰਬਾਈ ਘਟਾਓ
ਆਉਟਪੁੱਟ ਟੋਕਨਾਂ 'ਤੇ ਪੈਸਾ ਅਤੇ ਸਮਾਂ ਲੱਗਦਾ ਹੈ। ਜੇਕਰ ਤੁਹਾਡਾ ਮਾਡਲ ਘੁੰਮਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਨੂੰ ਘੁੰਮਣ-ਫਿਰਨ ਲਈ ਭੁਗਤਾਨ ਕਰਨਾ ਪਵੇਗਾ।
ਮੈਂ ਟੀਮਾਂ ਨੂੰ ਛੋਟੇ ਆਉਟਪੁੱਟ ਲਾਗੂ ਕਰਕੇ ਲਾਗਤਾਂ ਨੂੰ ਨਾਟਕੀ ਢੰਗ ਨਾਲ ਘਟਾਉਂਦੇ ਦੇਖਿਆ ਹੈ। ਇਹ ਮਾਮੂਲੀ ਲੱਗਦਾ ਹੈ। ਇਹ ਕੰਮ ਕਰਦਾ ਹੈ।.
7) ਕੰਪਾਈਲਰ + ਗ੍ਰਾਫ਼ ਔਪਟੀਮਾਈਜੇਸ਼ਨ: ਸਪੀਡ ਕਿੱਥੋਂ ਆਉਂਦੀ ਹੈ 🏎️
ਇਹ "ਕੰਪਿਊਟਰ ਨੂੰ ਸਮਾਰਟ ਕੰਪਿਊਟਰ ਸਟੱਫ ਬਣਾਉਣ" ਵਾਲੀ ਪਰਤ ਹੈ।.
ਆਮ ਤਕਨੀਕਾਂ:
-
ਓਪਰੇਟਰ ਫਿਊਜ਼ਨ (ਕਰਨਲਾਂ ਨੂੰ ਜੋੜੋ) ( NVIDIA TensorRT “ਲੇਅਰ ਫਿਊਜ਼ਨ” )
-
ਸਥਿਰ ਫੋਲਡਿੰਗ (ਪ੍ਰੀਕੰਪਿਊਟ ਫਿਕਸਡ ਮੁੱਲ) ( ONNX ਰਨਟਾਈਮ ਗ੍ਰਾਫ ਅਨੁਕੂਲਤਾ )
-
ਕਰਨਲ ਚੋਣ ਹਾਰਡਵੇਅਰ ਦੇ ਅਨੁਸਾਰ ਟਿਊਨ ਕੀਤੀ ਗਈ
-
ਪਾਈਥਨ ਓਵਰਹੈੱਡ ਘਟਾਉਣ ਲਈ ਗ੍ਰਾਫ਼ ਕੈਪਚਰ
torch.compileਸੰਖੇਪ ਜਾਣਕਾਰੀ )
ਸਾਦੇ ਸ਼ਬਦਾਂ ਵਿੱਚ: ਤੁਹਾਡਾ ਮਾਡਲ ਗਣਿਤਿਕ ਤੌਰ 'ਤੇ ਤੇਜ਼ ਹੋ ਸਕਦਾ ਹੈ, ਪਰ ਕਾਰਜਸ਼ੀਲਤਾ ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਹੌਲੀ ਹੋ ਸਕਦਾ ਹੈ। ਕੰਪਾਈਲਰ ਇਸ ਵਿੱਚੋਂ ਕੁਝ ਨੂੰ ਠੀਕ ਕਰਦੇ ਹਨ।.
ਵਿਹਾਰਕ ਨੋਟਸ (ਉਰਫ਼ ਦਾਗ਼)
-
ਇਹ ਅਨੁਕੂਲਤਾ ਮਾਡਲ ਆਕਾਰ ਤਬਦੀਲੀਆਂ ਪ੍ਰਤੀ ਸੰਵੇਦਨਸ਼ੀਲ ਹੋ ਸਕਦੀਆਂ ਹਨ।.
-
ਕੁਝ ਮਾਡਲ ਬਹੁਤ ਤੇਜ਼ ਕਰਦੇ ਹਨ, ਕੁਝ ਬਹੁਤ ਘੱਟ ਹਿੱਲਦੇ ਹਨ।.
-
ਕਈ ਵਾਰ ਤੁਹਾਨੂੰ ਇੱਕ ਸਪੀਡਅੱਪ ਅਤੇ ਇੱਕ ਉਲਝਣ ਵਾਲਾ ਕੀੜਾ ਮਿਲਦਾ ਹੈ - ਜਿਵੇਂ ਇੱਕ ਗ੍ਰੇਮਲਿਨ ਅੰਦਰ ਚਲਾ ਗਿਆ ਹੋਵੇ 🧌
ਫਿਰ ਵੀ, ਜਦੋਂ ਇਹ ਕੰਮ ਕਰਦਾ ਹੈ, ਤਾਂ ਇਹ ਸਭ ਤੋਂ ਸਾਫ਼ ਜਿੱਤਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ।.
8) ਮਾਤਰਾਕਰਨ, ਛਾਂਟੀ, ਡਿਸਟਿਲੇਸ਼ਨ: ਬਿਨਾਂ ਰੋਏ ਛੋਟਾ (ਬਹੁਤ ਜ਼ਿਆਦਾ) 🪓📉
ਇਹ ਉਹ ਭਾਗ ਹੈ ਜੋ ਲੋਕ ਚਾਹੁੰਦੇ ਹਨ... ਕਿਉਂਕਿ ਇਹ ਮੁਫ਼ਤ ਪ੍ਰਦਰਸ਼ਨ ਵਰਗਾ ਲੱਗਦਾ ਹੈ। ਇਹ ਹੋ ਸਕਦਾ ਹੈ, ਪਰ ਤੁਹਾਨੂੰ ਇਸਦਾ ਇਲਾਜ ਸਰਜਰੀ ਵਾਂਗ ਕਰਨਾ ਪਵੇਗਾ।.
ਮਾਤਰਾਕਰਨ (ਘੱਟ ਸ਼ੁੱਧਤਾ ਵਜ਼ਨ/ਕਿਰਿਆਸ਼ੀਲਤਾ)
-
ਅਨੁਮਾਨ ਗਤੀ ਅਤੇ ਯਾਦਦਾਸ਼ਤ ਲਈ ਵਧੀਆ
-
ਜੋਖਮ: ਗੁਣਵੱਤਾ ਵਿੱਚ ਗਿਰਾਵਟ, ਖਾਸ ਕਰਕੇ ਕਿਨਾਰੇ ਵਾਲੇ ਕੇਸਾਂ 'ਤੇ
-
ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸ: ਇੱਕ ਅਸਲੀ ਟੈਸਟ ਸੈੱਟ 'ਤੇ ਮੁਲਾਂਕਣ ਕਰੋ, ਵਾਈਬਸ 'ਤੇ ਨਹੀਂ
ਆਮ ਸੁਆਦ ਜਿਨ੍ਹਾਂ ਬਾਰੇ ਤੁਸੀਂ ਸੁਣੋਗੇ:
-
INT8 (ਅਕਸਰ ਠੋਸ) ( ਟੈਂਸਰਆਰਟੀ ਕੁਆਂਟਾਈਜ਼ਡ ਕਿਸਮਾਂ )
-
INT4 / ਘੱਟ-ਬਿੱਟ (ਵੱਡੀ ਬੱਚਤ, ਗੁਣਵੱਤਾ ਜੋਖਮ ਵੱਧਦਾ ਹੈ) ( ਬਿਟਸਐਂਡਬਾਈਟਸ ਕੇ-ਬਿੱਟ ਕੁਆਂਟਾਈਜ਼ੇਸ਼ਨ )
-
ਮਿਸ਼ਰਤ ਮਾਤਰਾ (ਹਰ ਚੀਜ਼ ਨੂੰ ਇੱਕੋ ਜਿਹੀ ਸ਼ੁੱਧਤਾ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ)
ਛਾਂਟੀ (ਪੈਰਾਮੀਟਰ ਹਟਾਓ)
-
"ਗੈਰ-ਮਹੱਤਵਪੂਰਨ" ਵਜ਼ਨ ਜਾਂ ਢਾਂਚੇ ਨੂੰ ਹਟਾਉਂਦਾ ਹੈ ( ਪਾਈਟੋਰਚ ਪ੍ਰੂਨਿੰਗ ਟਿਊਟੋਰਿਅਲ )
-
ਆਮ ਤੌਰ 'ਤੇ ਗੁਣਵੱਤਾ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਦੁਬਾਰਾ ਸਿਖਲਾਈ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ
-
ਲੋਕਾਂ ਦੇ ਸੋਚਣ ਨਾਲੋਂ ਬਿਹਤਰ ਕੰਮ ਕਰਦਾ ਹੈ... ਜਦੋਂ ਧਿਆਨ ਨਾਲ ਕੀਤਾ ਜਾਵੇ
ਡਿਸਟਿਲੇਸ਼ਨ (ਵਿਦਿਆਰਥੀ ਅਧਿਆਪਕ ਤੋਂ ਸਿੱਖਦਾ ਹੈ)
ਇਹ ਮੇਰਾ ਨਿੱਜੀ ਪਸੰਦੀਦਾ ਲੰਬੇ ਸਮੇਂ ਦਾ ਲੀਵਰ ਹੈ। ਡਿਸਟਿਲੇਸ਼ਨ ਇੱਕ ਛੋਟਾ ਮਾਡਲ ਪੈਦਾ ਕਰ ਸਕਦੀ ਹੈ ਜੋ ਇਸੇ ਤਰ੍ਹਾਂ ਵਿਵਹਾਰ ਕਰਦਾ ਹੈ, ਅਤੇ ਇਹ ਅਕਸਰ ਅਤਿਅੰਤ ਕੁਆਂਟਾਈਜ਼ੇਸ਼ਨ ( ਇੱਕ ਨਿਊਰਲ ਨੈੱਟਵਰਕ ਵਿੱਚ ਗਿਆਨ ਨੂੰ ਡਿਸਟਿਲ ਕਰਨਾ ) ਨਾਲੋਂ ਵਧੇਰੇ ਸਥਿਰ ਹੁੰਦਾ ਹੈ।
ਇੱਕ ਅਪੂਰਣ ਰੂਪਕ: ਡਿਸਟਿਲੇਸ਼ਨ ਇੱਕ ਗੁੰਝਲਦਾਰ ਸੂਪ ਨੂੰ ਫਿਲਟਰ ਰਾਹੀਂ ਪਾਉਣ ਅਤੇ... ਇੱਕ ਛੋਟਾ ਸੂਪ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਂਗ ਹੈ। ਸੂਪ ਇਸ ਤਰ੍ਹਾਂ ਕੰਮ ਨਹੀਂ ਕਰਦਾ, ਪਰ ਤੁਹਾਨੂੰ ਵਿਚਾਰ ਮਿਲਦਾ ਹੈ 🍲।.
9) ਸੇਵਾ ਅਤੇ ਅਨੁਮਾਨ: ਅਸਲ ਲੜਾਈ ਦਾ ਖੇਤਰ 🧯
ਤੁਸੀਂ ਇੱਕ ਮਾਡਲ ਨੂੰ "ਅਨੁਕੂਲ" ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਫਿਰ ਵੀ ਇਸਨੂੰ ਬੁਰੀ ਤਰ੍ਹਾਂ ਸੇਵਾ ਦੇ ਸਕਦੇ ਹੋ। ਸੇਵਾ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਲੇਟੈਂਸੀ ਅਤੇ ਲਾਗਤ ਅਸਲ ਵਿੱਚ ਆਉਂਦੀ ਹੈ।.
ਸੇਵਾ ਕਰਨ ਨਾਲ ਜਿੱਤ ਹੁੰਦੀ ਹੈ, ਇਹ ਮਾਇਨੇ ਰੱਖਦਾ ਹੈ
-
ਬੈਚਿੰਗ
ਥਰੂਪੁੱਟ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਂਦੀ ਹੈ। ਪਰ ਜੇਕਰ ਤੁਸੀਂ ਇਸਨੂੰ ਜ਼ਿਆਦਾ ਕਰਦੇ ਹੋ ਤਾਂ ਲੇਟੈਂਸੀ ਵਧਾਉਂਦੀ ਹੈ। ਇਸਨੂੰ ਸੰਤੁਲਿਤ ਕਰੋ। ( ਟ੍ਰਾਈਟਨ ਡਾਇਨਾਮਿਕ ਬੈਚਿੰਗ ) -
ਕੈਸ਼ਿੰਗ
ਵਾਰ-ਵਾਰ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਸੰਦਰਭਾਂ ਲਈ ਤੁਰੰਤ ਕੈਸ਼ਿੰਗ ਅਤੇ KV-ਕੈਸ਼ ਦੀ ਮੁੜ ਵਰਤੋਂ ਬਹੁਤ ਜ਼ਿਆਦਾ ਹੋ ਸਕਦੀ ਹੈ। ( KV ਕੈਸ਼ ਵਿਆਖਿਆ ) -
ਸਟ੍ਰੀਮਿੰਗ ਆਉਟਪੁੱਟ
ਉਪਭੋਗਤਾ ਮਹਿਸੂਸ ਕਰਦੇ ਹਨ ਕਿ ਇਹ ਤੇਜ਼ ਹੈ ਭਾਵੇਂ ਕੁੱਲ ਸਮਾਂ ਇੱਕੋ ਜਿਹਾ ਹੋਵੇ। ਧਾਰਨਾ ਮਾਇਨੇ ਰੱਖਦੀ ਹੈ 🙂। -
ਟੋਕਨ-ਦਰ-ਟੋਕਨ ਓਵਰਹੈੱਡ ਕਟੌਤੀ
ਕੁਝ ਸਟੈਕ ਪ੍ਰਤੀ ਟੋਕਨ ਵਾਧੂ ਕੰਮ ਕਰਦੇ ਹਨ। ਉਸ ਓਵਰਹੈੱਡ ਨੂੰ ਘਟਾਓ ਅਤੇ ਤੁਸੀਂ ਵੱਡੀ ਜਿੱਤ ਪ੍ਰਾਪਤ ਕਰੋਗੇ।
ਟੇਲ ਲੇਟੈਂਸੀ ਤੋਂ ਸਾਵਧਾਨ ਰਹੋ
ਤੁਹਾਡਾ ਔਸਤ ਵਧੀਆ ਲੱਗ ਸਕਦਾ ਹੈ ਜਦੋਂ ਕਿ ਤੁਹਾਡਾ p99 ਇੱਕ ਆਫ਼ਤ ਹੈ। ਬਦਕਿਸਮਤੀ ਨਾਲ, ਉਪਭੋਗਤਾ ਟੇਲ ਵਿੱਚ ਰਹਿੰਦੇ ਹਨ। ( "ਟੇਲ ਲੇਟੈਂਸੀ" ਅਤੇ ਔਸਤ ਕਿਉਂ ਝੂਠ ਬੋਲਦੇ ਹਨ )
10) ਹਾਰਡਵੇਅਰ-ਜਾਗਰੂਕ ਓਪਟੀਮਾਈਜੇਸ਼ਨ: ਮਾਡਲ ਨੂੰ ਮਸ਼ੀਨ ਨਾਲ ਮੇਲ ਕਰੋ 🧰🖥️
ਹਾਰਡਵੇਅਰ ਜਾਗਰੂਕਤਾ ਤੋਂ ਬਿਨਾਂ ਅਨੁਕੂਲ ਬਣਾਉਣਾ ਟਾਇਰਾਂ ਦੀ ਜਾਂਚ ਕੀਤੇ ਬਿਨਾਂ ਰੇਸ ਕਾਰ ਨੂੰ ਟਿਊਨ ਕਰਨ ਵਾਂਗ ਹੈ। ਯਕੀਨਨ, ਤੁਸੀਂ ਇਹ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ ਇਹ ਥੋੜਾ ਮੂਰਖਤਾਪੂਰਨ ਹੈ।.
GPU ਵਿਚਾਰ
-
ਮੈਮੋਰੀ ਬੈਂਡਵਿਡਥ ਅਕਸਰ ਸੀਮਤ ਕਰਨ ਵਾਲਾ ਕਾਰਕ ਹੁੰਦੀ ਹੈ, ਕੱਚਾ ਕੰਪਿਊਟ ਨਹੀਂ।
-
ਵੱਡੇ ਬੈਚ ਦੇ ਆਕਾਰ ਮਦਦ ਕਰ ਸਕਦੇ ਹਨ, ਜਦੋਂ ਤੱਕ ਉਹ ਨਹੀਂ ਕਰਦੇ
-
ਟਰਾਂਸਫਾਰਮਰਾਂ ਲਈ ਕਰਨਲ ਫਿਊਜ਼ਨ ਅਤੇ ਧਿਆਨ ਅਨੁਕੂਲਨ ਬਹੁਤ ਵੱਡੇ ਹਨ ( FlashAttention: IO-ਜਾਗਰੂਕ ਸਹੀ ਧਿਆਨ )
CPU ਵਿਚਾਰ
-
ਥ੍ਰੈੱਡਿੰਗ, ਵੈਕਟਰਾਈਜ਼ੇਸ਼ਨ, ਅਤੇ ਮੈਮੋਰੀ ਲੋਕਾਲਿਟੀ ਬਹੁਤ ਮਾਇਨੇ ਰੱਖਦੀ ਹੈ।
-
ਟੋਕਨਾਈਜੇਸ਼ਨ ਓਵਰਹੈੱਡ ਹਾਵੀ ਹੋ ਸਕਦਾ ਹੈ ( 🤗 "ਤੇਜ਼" ਟੋਕਨਾਈਜ਼ਰ )
-
ਤੁਹਾਨੂੰ GPU ਨਾਲੋਂ ਵੱਖਰੀਆਂ ਕੁਆਂਟਾਇਜ਼ੇਸ਼ਨ ਰਣਨੀਤੀਆਂ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ।
ਐਜ / ਮੋਬਾਈਲ ਵਿਚਾਰ
-
ਮੈਮੋਰੀ ਫੁੱਟਪ੍ਰਿੰਟ ਤਰਜੀਹ ਨੰਬਰ ਇੱਕ ਬਣ ਜਾਂਦਾ ਹੈ
-
ਲੇਟੈਂਸੀ ਭਿੰਨਤਾ ਮਾਇਨੇ ਰੱਖਦੀ ਹੈ ਕਿਉਂਕਿ ਡਿਵਾਈਸਾਂ... ਮੂਡੀ ਹੁੰਦੀਆਂ ਹਨ।
-
ਛੋਟੇ, ਵਿਸ਼ੇਸ਼ ਮਾਡਲ ਅਕਸਰ ਵੱਡੇ ਆਮ ਮਾਡਲਾਂ ਨੂੰ ਮਾਤ ਦਿੰਦੇ ਹਨ
11) ਕੁਆਲਿਟੀ ਗਾਰਡਰੇਲ: ਆਪਣੇ ਆਪ ਨੂੰ ਇੱਕ ਬੱਗ ਵਿੱਚ "ਅਨੁਕੂਲ" ਨਾ ਬਣਾਓ 🧪
ਹਰ ਸਪੀਡ ਜਿੱਤ ਦੇ ਨਾਲ ਇੱਕ ਗੁਣਵੱਤਾ ਜਾਂਚ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਨਹੀਂ ਤਾਂ ਤੁਸੀਂ ਜਸ਼ਨ ਮਨਾਓਗੇ, ਭੇਜੋਗੇ, ਅਤੇ ਫਿਰ ਇੱਕ ਸੁਨੇਹਾ ਪ੍ਰਾਪਤ ਕਰੋਗੇ ਜਿਵੇਂ "ਸਹਾਇਕ ਅਚਾਨਕ ਸਮੁੰਦਰੀ ਡਾਕੂ ਵਾਂਗ ਕਿਉਂ ਗੱਲ ਕਰਦਾ ਹੈ?" 🏴☠️
ਵਿਹਾਰਕ ਗਾਰਡਰੇਲ:
-
ਗੋਲਡਨ ਪ੍ਰੋਂਪਟ (ਪ੍ਰੋਂਪਟਾਂ ਦਾ ਸਥਿਰ ਸੈੱਟ ਜੋ ਤੁਸੀਂ ਹਮੇਸ਼ਾ ਟੈਸਟ ਕਰਦੇ ਹੋ)
-
ਕਾਰਜ ਮੈਟ੍ਰਿਕਸ (ਸ਼ੁੱਧਤਾ, F1, BLEU, ਜੋ ਵੀ ਫਿੱਟ ਹੋਵੇ)
-
ਮਨੁੱਖੀ ਥਾਂ ਦੀ ਜਾਂਚ (ਹਾਂ, ਗੰਭੀਰਤਾ ਨਾਲ)
-
ਰਿਗਰੈਸ਼ਨ ਥ੍ਰੈਸ਼ਹੋਲਡ ("X% ਤੋਂ ਵੱਧ ਦੀ ਗਿਰਾਵਟ ਦੀ ਆਗਿਆ ਨਹੀਂ")
ਅਸਫਲਤਾ ਮੋਡਾਂ ਨੂੰ ਵੀ ਟਰੈਕ ਕਰੋ:
-
ਫਾਰਮੈਟਿੰਗ ਡ੍ਰਿਫਟ
-
ਇਨਕਾਰ ਵਿਵਹਾਰ ਵਿੱਚ ਬਦਲਾਅ
-
ਭਰਮ ਦੀ ਬਾਰੰਬਾਰਤਾ
-
ਪ੍ਰਤੀਕਿਰਿਆ ਲੰਬਾਈ ਮੁਦਰਾਸਫੀਤੀ
ਅਨੁਕੂਲਤਾ ਹੈਰਾਨੀਜਨਕ ਤਰੀਕਿਆਂ ਨਾਲ ਵਿਵਹਾਰ ਨੂੰ ਬਦਲ ਸਕਦੀ ਹੈ। ਅਜੀਬ ਤੌਰ 'ਤੇ। ਪਰੇਸ਼ਾਨ ਕਰਨ ਵਾਲਾ। ਅਨੁਮਾਨਤ ਤੌਰ 'ਤੇ, ਪਿੱਛੇ ਵੱਲ ਵੇਖ ਕੇ।.
12) ਚੈੱਕਲਿਸਟ: AI ਮਾਡਲਾਂ ਨੂੰ ਕਦਮ-ਦਰ-ਕਦਮ ਕਿਵੇਂ ਅਨੁਕੂਲ ਬਣਾਇਆ ਜਾਵੇ ✅🤖
ਜੇਕਰ ਤੁਸੀਂ "AI ਮਾਡਲਾਂ ਨੂੰ ਕਿਵੇਂ ਅਨੁਕੂਲ ਬਣਾਇਆ ਜਾਵੇ" , ਤਾਂ ਇੱਥੇ ਵਰਕਫਲੋ ਹੈ ਜੋ ਲੋਕਾਂ ਨੂੰ ਸਮਝਦਾਰ ਰੱਖਣ ਦਾ ਰੁਝਾਨ ਰੱਖਦਾ ਹੈ:
-
ਸਫਲਤਾ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
1-2 ਪ੍ਰਾਇਮਰੀ ਮੈਟ੍ਰਿਕਸ (ਲੇਟੈਂਸੀ, ਲਾਗਤ, ਥਰੂਪੁੱਟ, ਗੁਣਵੱਤਾ) ਚੁਣੋ। -
ਪ੍ਰੋਫਾਈਲ ਅਸਲ ਵਰਕਲੋਡ, ਰਿਕਾਰਡ p50/p95, ਮੈਮੋਰੀ, ਲਾਗਤ ਨੂੰ ਮਾਪੋ ਪਾਈਟੋਰਚ ਪ੍ਰੋਫਾਈਲਰ ) -
ਪਾਈਪਲਾਈਨ ਰੁਕਾਵਟਾਂ ਨੂੰ ਠੀਕ ਕਰੋ
ਡਾਟਾ ਲੋਡਿੰਗ, ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ, ਪ੍ਰੀਪ੍ਰੋਸੈਸਿੰਗ, ਬੈਚਿੰਗ। -
ਘੱਟ-ਜੋਖਮ ਵਾਲੇ ਕੰਪਿਊਟ ਜਿੱਤਾਂ ਲਾਗੂ ਕਰੋ
ਮਿਸ਼ਰਤ ਸ਼ੁੱਧਤਾ, ਕਰਨਲ ਅਨੁਕੂਲਤਾ, ਬਿਹਤਰ ਬੈਚਿੰਗ। -
ਕੰਪਾਈਲਰ/ਰਨਟਾਈਮ ਓਪਟੀਮਾਈਜੇਸ਼ਨ
ਗ੍ਰਾਫ ਕੈਪਚਰ, ਇਨਫਰੈਂਸ ਰਨਟਾਈਮ, ਓਪਰੇਟਰ ਫਿਊਜ਼ਨ ਅਜ਼ਮਾਓ। (torch.compileਟਿਊਟੋਰਿਅਲ , ONNX ਰਨਟਾਈਮ ਡੌਕਸ ) -
ਮਾਡਲ ਦੀ ਕੀਮਤ ਘਟਾਓ।
ਧਿਆਨ ਨਾਲ ਮਾਤਰਾ ਕੱਢੋ, ਜੇ ਹੋ ਸਕੇ ਤਾਂ ਡਿਸਟਿਲ ਕਰੋ, ਜੇ ਢੁਕਵਾਂ ਹੋਵੇ ਤਾਂ ਛਾਂਟੀ ਕਰੋ। -
ਟਿਊਨ ਸਰਵਿੰਗ
ਕੈਚਿੰਗ, ਕਨਕਰੰਸੀ, ਲੋਡ ਟੈਸਟਿੰਗ, ਟੇਲ ਲੇਟੈਂਸੀ ਫਿਕਸ। -
ਗੁਣਵੱਤਾ ਪ੍ਰਮਾਣਿਤ ਕਰੋ,
ਰਿਗਰੈਸ਼ਨ ਟੈਸਟ ਚਲਾਓ ਅਤੇ ਨਾਲ-ਨਾਲ ਆਉਟਪੁੱਟ ਦੀ ਤੁਲਨਾ ਕਰੋ। -
ਦੁਹਰਾਓ
ਛੋਟੀਆਂ ਤਬਦੀਲੀਆਂ, ਸਪੱਸ਼ਟ ਨੋਟਸ, ਦੁਹਰਾਓ। ਬੇਦਾਗ਼ - ਪ੍ਰਭਾਵਸ਼ਾਲੀ।
ਅਤੇ ਹਾਂ, ਇਹ ਅਜੇ ਵੀ AI ਮਾਡਲਾਂ ਨੂੰ ਕਿਵੇਂ ਅਨੁਕੂਲ ਬਣਾਇਆ ਜਾਵੇ, ਭਾਵੇਂ ਇਹ "ਰੇਕਾਂ 'ਤੇ ਕਦਮ ਰੱਖਣਾ ਕਿਵੇਂ ਬੰਦ ਕਰਨਾ ਹੈ" ਵਰਗਾ ਮਹਿਸੂਸ ਹੋਵੇ। ਇਹੀ ਗੱਲ ਹੈ।
13) ਆਮ ਗਲਤੀਆਂ (ਤਾਂ ਜੋ ਤੁਸੀਂ ਉਨ੍ਹਾਂ ਨੂੰ ਸਾਡੇ ਬਾਕੀਆਂ ਵਾਂਗ ਨਾ ਦੁਹਰਾਓ) 🙃
-
ਮਾਪਣ ਤੋਂ ਪਹਿਲਾਂ ਅਨੁਕੂਲ ਬਣਾਉਣਾ
ਤੁਸੀਂ ਸਮਾਂ ਬਰਬਾਦ ਕਰੋਗੇ। ਅਤੇ ਫਿਰ ਤੁਸੀਂ ਗਲਤ ਚੀਜ਼ ਨੂੰ ਭਰੋਸੇ ਨਾਲ ਅਨੁਕੂਲ ਬਣਾਓਗੇ... -
ਇੱਕ ਸਿੰਗਲ ਬੈਂਚਮਾਰਕ ਦਾ ਪਿੱਛਾ ਕਰਨਾ
ਬੈਂਚਮਾਰਕ ਭੁੱਲ ਕੇ ਝੂਠ ਬੋਲਦੇ ਹਨ। ਤੁਹਾਡਾ ਕੰਮ ਦਾ ਬੋਝ ਸੱਚ ਹੈ। -
ਮੈਮੋਰੀ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਅਣਡਿੱਠ ਕਰਨ ਨਾਲ
ਮੈਮੋਰੀ ਹੌਲੀ ਹੋ ਜਾਂਦੀ ਹੈ, ਕਰੈਸ਼ ਹੁੰਦੀ ਹੈ ਅਤੇ ਘਬਰਾਹਟ ਹੁੰਦੀ ਹੈ। ( PyTorch ਵਿੱਚ CUDA ਮੈਮੋਰੀ ਵਰਤੋਂ ਨੂੰ ਸਮਝਣਾ ) -
ਬਹੁਤ ਜਲਦੀ ਜ਼ਿਆਦਾ ਮਾਤਰਾ ਕੱਢਣਾ
ਘੱਟ-ਬਿੱਟ ਮਾਤਰਾ ਹੈਰਾਨੀਜਨਕ ਹੋ ਸਕਦੀ ਹੈ, ਪਰ ਪਹਿਲਾਂ ਸੁਰੱਖਿਅਤ ਕਦਮਾਂ ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰੋ। -
ਕੋਈ ਵਾਪਸੀ ਯੋਜਨਾ ਨਹੀਂ
ਜੇਕਰ ਤੁਸੀਂ ਜਲਦੀ ਵਾਪਸ ਨਹੀਂ ਆ ਸਕਦੇ, ਤਾਂ ਹਰ ਤੈਨਾਤੀ ਤਣਾਅਪੂਰਨ ਹੋ ਜਾਂਦੀ ਹੈ। ਤਣਾਅ ਗਲਤੀਆਂ ਪੈਦਾ ਕਰਦਾ ਹੈ।
ਸਮਾਪਤੀ ਨੋਟ: ਅਨੁਕੂਲ ਬਣਾਉਣ ਦਾ ਮਨੁੱਖੀ ਤਰੀਕਾ 😌⚡
ਏਆਈ ਮਾਡਲਾਂ ਨੂੰ ਕਿਵੇਂ ਅਨੁਕੂਲ ਬਣਾਇਆ ਜਾਵੇ ਇਹ ਇੱਕ ਸਿੰਗਲ ਹੈਕ ਨਹੀਂ ਹੈ। ਇਹ ਇੱਕ ਪਰਤ ਵਾਲੀ ਪ੍ਰਕਿਰਿਆ ਹੈ: ਮਾਪੋ, ਪਾਈਪਲਾਈਨ ਨੂੰ ਠੀਕ ਕਰੋ, ਕੰਪਾਈਲਰ ਅਤੇ ਰਨਟਾਈਮ ਦੀ ਵਰਤੋਂ ਕਰੋ, ਸਰਵਿੰਗ ਨੂੰ ਟਿਊਨ ਕਰੋ, ਫਿਰ ਜੇਕਰ ਤੁਹਾਨੂੰ ਲੋੜ ਹੋਵੇ ਤਾਂ ਕੁਆਂਟਾਈਜ਼ੇਸ਼ਨ ਜਾਂ ਡਿਸਟਿਲੇਸ਼ਨ ਨਾਲ ਮਾਡਲ ਨੂੰ ਸੁੰਗੜੋ। ਇਸਨੂੰ ਕਦਮ-ਦਰ-ਕਦਮ ਕਰੋ, ਗੁਣਵੱਤਾ ਵਾਲੇ ਗਾਰਡਰੇਲ ਰੱਖੋ, ਅਤੇ ਇੱਕ ਮੈਟ੍ਰਿਕ ਦੇ ਤੌਰ 'ਤੇ "ਇਹ ਤੇਜ਼ ਮਹਿਸੂਸ ਹੁੰਦਾ ਹੈ" 'ਤੇ ਭਰੋਸਾ ਨਾ ਕਰੋ (ਤੁਹਾਡੀਆਂ ਭਾਵਨਾਵਾਂ ਪਿਆਰੀਆਂ ਹਨ, ਤੁਹਾਡੀਆਂ ਭਾਵਨਾਵਾਂ ਇੱਕ ਪ੍ਰੋਫਾਈਲਰ ਨਹੀਂ ਹਨ)।
ਜੇ ਤੁਸੀਂ ਸਭ ਤੋਂ ਛੋਟਾ ਟੇਕਅਵੇ ਚਾਹੁੰਦੇ ਹੋ:
-
ਪਹਿਲਾਂ ਮਾਪੋ 🔍
-
ਅੱਗੇ ਪਾਈਪਲਾਈਨ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਓ 🧵
-
ਫਿਰ ਮਾਡਲ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਓ 🧠
-
ਫਿਰ ਸਰਵਿੰਗ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਓ 🏗️
-
ਗੁਣਵੱਤਾ ਦੀ ਜਾਂਚ ਹਮੇਸ਼ਾ ਕਰਦੇ ਰਹੋ ✅
ਅਤੇ ਜੇਕਰ ਇਹ ਮਦਦ ਕਰਦਾ ਹੈ, ਤਾਂ ਆਪਣੇ ਆਪ ਨੂੰ ਯਾਦ ਦਿਵਾਓ: ਟੀਚਾ ਇੱਕ "ਸੰਪੂਰਨ ਮਾਡਲ" ਨਹੀਂ ਹੈ। ਟੀਚਾ ਇੱਕ ਅਜਿਹਾ ਮਾਡਲ ਹੈ ਜੋ ਤੇਜ਼, ਕਿਫਾਇਤੀ, ਅਤੇ ਇੰਨਾ ਭਰੋਸੇਯੋਗ ਹੋਵੇ ਕਿ ਤੁਸੀਂ ਰਾਤ ਨੂੰ ਸੌਂ ਸਕੋ... ਜ਼ਿਆਦਾਤਰ ਰਾਤਾਂ 😴।.
ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ
ਅਭਿਆਸ ਵਿੱਚ ਇੱਕ AI ਮਾਡਲ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਦਾ ਕੀ ਅਰਥ ਹੈ
"ਅਨੁਕੂਲਿਤ" ਦਾ ਮਤਲਬ ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਮੁੱਖ ਰੁਕਾਵਟ ਨੂੰ ਸੁਧਾਰਨਾ ਹੁੰਦਾ ਹੈ: ਲੇਟੈਂਸੀ, ਲਾਗਤ, ਮੈਮੋਰੀ ਫੁੱਟਪ੍ਰਿੰਟ, ਸ਼ੁੱਧਤਾ, ਸਥਿਰਤਾ, ਜਾਂ ਸੇਵਾ ਥਰੂਪੁੱਟ। ਔਖਾ ਹਿੱਸਾ ਵਪਾਰ ਹੈ - ਇੱਕ ਖੇਤਰ ਨੂੰ ਅੱਗੇ ਵਧਾਉਣਾ ਦੂਜੇ ਖੇਤਰ ਨੂੰ ਘਟਾ ਸਕਦਾ ਹੈ। ਇੱਕ ਵਿਹਾਰਕ ਪਹੁੰਚ ਇੱਕ ਸਪਸ਼ਟ ਟੀਚਾ (ਜਿਵੇਂ ਕਿ p95 ਲੇਟੈਂਸੀ ਜਾਂ ਸਮਾਂ-ਤੋਂ-ਗੁਣਵੱਤਾ) ਚੁਣਨਾ ਅਤੇ ਇਸ ਵੱਲ ਅਨੁਕੂਲ ਬਣਾਉਣਾ ਹੈ। ਇੱਕ ਟੀਚੇ ਤੋਂ ਬਿਨਾਂ, "ਸੁਧਾਰ" ਕਰਨਾ ਅਤੇ ਫਿਰ ਵੀ ਗੁਆਉਣਾ ਆਸਾਨ ਹੈ।.
ਗੁਣਵੱਤਾ ਨੂੰ ਚੁੱਪਚਾਪ ਨੁਕਸਾਨ ਪਹੁੰਚਾਏ ਬਿਨਾਂ AI ਮਾਡਲਾਂ ਨੂੰ ਕਿਵੇਂ ਅਨੁਕੂਲ ਬਣਾਇਆ ਜਾਵੇ
ਹਰ ਗਤੀ ਜਾਂ ਲਾਗਤ ਤਬਦੀਲੀ ਨੂੰ ਸੰਭਾਵੀ ਚੁੱਪ ਰਿਗਰੈਸ਼ਨ ਵਜੋਂ ਮੰਨੋ। ਗੋਲਡਨ ਪ੍ਰੋਂਪਟ, ਟਾਸਕ ਮੈਟ੍ਰਿਕਸ, ਅਤੇ ਤੇਜ਼ ਮਨੁੱਖੀ ਸਪਾਟ ਜਾਂਚਾਂ ਵਰਗੇ ਗਾਰਡਰੇਲ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਸਵੀਕਾਰਯੋਗ ਗੁਣਵੱਤਾ ਡ੍ਰਿਫਟ ਲਈ ਇੱਕ ਸਪੱਸ਼ਟ ਥ੍ਰੈਸ਼ਹੋਲਡ ਸੈੱਟ ਕਰੋ ਅਤੇ ਆਉਟਪੁੱਟ ਦੀ ਨਾਲ-ਨਾਲ ਤੁਲਨਾ ਕਰੋ। ਇਹ ਤੁਹਾਡੇ ਦੁਆਰਾ ਭੇਜਣ ਤੋਂ ਬਾਅਦ "ਇਹ ਤੇਜ਼ ਹੈ" ਨੂੰ "ਉਤਪਾਦਨ ਵਿੱਚ ਅਚਾਨਕ ਅਜੀਬ ਕਿਉਂ ਹੋ ਗਿਆ?" ਵਿੱਚ ਬਦਲਣ ਤੋਂ ਰੋਕਦਾ ਹੈ।.
ਅਨੁਕੂਲਤਾ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਕੀ ਮਾਪਣਾ ਹੈ
ਲੇਟੈਂਸੀ ਪ੍ਰਤੀਸ਼ਤ (p50, p95, p99), ਥਰੂਪੁੱਟ (ਟੋਕਨ/ਸਕਿੰਟ ਜਾਂ ਬੇਨਤੀਆਂ/ਸਕਿੰਟ), GPU ਉਪਯੋਗਤਾ, ਅਤੇ ਪੀਕ VRAM/RAM ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰੋ। ਜੇਕਰ ਲਾਗਤ ਇੱਕ ਰੁਕਾਵਟ ਹੈ ਤਾਂ ਪ੍ਰਤੀ ਅਨੁਮਾਨ ਜਾਂ ਪ੍ਰਤੀ 1k ਟੋਕਨਾਂ ਦੀ ਲਾਗਤ ਨੂੰ ਟਰੈਕ ਕਰੋ। ਇੱਕ ਅਸਲ ਦ੍ਰਿਸ਼ ਨੂੰ ਪ੍ਰੋਫਾਈਲ ਕਰੋ ਜੋ ਤੁਸੀਂ ਪੇਸ਼ ਕਰਦੇ ਹੋ, ਇੱਕ ਖਿਡੌਣਾ ਪ੍ਰੋਂਪਟ ਨਹੀਂ। ਇੱਕ ਛੋਟਾ "ਪਰਫੈਕਟ ਜਰਨਲ" ਰੱਖਣਾ ਤੁਹਾਨੂੰ ਅਨੁਮਾਨ ਲਗਾਉਣ ਅਤੇ ਗਲਤੀਆਂ ਦੁਹਰਾਉਣ ਤੋਂ ਬਚਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।.
ਸਿਖਲਾਈ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਤੇਜ਼, ਘੱਟ-ਜੋਖਮ ਵਾਲੀਆਂ ਜਿੱਤਾਂ
ਮਿਸ਼ਰਤ ਸ਼ੁੱਧਤਾ (FP16/BF16) ਅਕਸਰ ਸਭ ਤੋਂ ਤੇਜ਼ ਪਹਿਲਾ ਲੀਵਰ ਹੁੰਦਾ ਹੈ, ਪਰ ਸੰਖਿਆਤਮਕ ਕੁਆਰਕਸ ਲਈ ਧਿਆਨ ਰੱਖੋ। ਜੇਕਰ ਬੈਚ ਦਾ ਆਕਾਰ ਸੀਮਤ ਹੈ, ਤਾਂ ਗਰੇਡੀਐਂਟ ਇਕੱਠਾ ਕਰਨਾ ਮੈਮੋਰੀ ਨੂੰ ਉਡਾਏ ਬਿਨਾਂ ਅਨੁਕੂਲਤਾ ਨੂੰ ਸਥਿਰ ਕਰ ਸਕਦਾ ਹੈ। ਗਰੇਡੀਐਂਟ ਚੈੱਕਪੌਂਟਿੰਗ ਘੱਟ ਮੈਮੋਰੀ ਲਈ ਵਾਧੂ ਕੰਪਿਊਟ ਦਾ ਵਪਾਰ ਕਰਦੀ ਹੈ, ਵੱਡੇ ਸੰਦਰਭਾਂ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦੀ ਹੈ। ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਅਤੇ ਡੇਟਾਲੋਡਰ ਟਿਊਨਿੰਗ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਨਾ ਕਰੋ - ਉਹ ਚੁੱਪਚਾਪ GPU ਨੂੰ ਭੁੱਖਾ ਮਾਰ ਸਕਦੇ ਹਨ।.
torch.compile, ONNX Runtime, ਜਾਂ TensorRT ਦੀ ਵਰਤੋਂ ਕਦੋਂ ਕਰਨੀ ਹੈ
ਇਹ ਟੂਲ ਓਪਰੇਸ਼ਨਲ ਓਵਰਹੈੱਡ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਂਦੇ ਹਨ: ਗ੍ਰਾਫ ਕੈਪਚਰ, ਕਰਨਲ ਫਿਊਜ਼ਨ, ਅਤੇ ਰਨਟਾਈਮ ਗ੍ਰਾਫ ਅਨੁਕੂਲਨ। ਇਹ ਸਾਫ਼ ਅਨੁਮਾਨ ਸਪੀਡਅੱਪ ਪ੍ਰਦਾਨ ਕਰ ਸਕਦੇ ਹਨ, ਪਰ ਨਤੀਜੇ ਮਾਡਲ ਸ਼ਕਲ ਅਤੇ ਹਾਰਡਵੇਅਰ ਦੇ ਅਨੁਸਾਰ ਵੱਖ-ਵੱਖ ਹੁੰਦੇ ਹਨ। ਕੁਝ ਸੈੱਟਅੱਪ ਜਾਦੂ ਵਾਂਗ ਮਹਿਸੂਸ ਹੁੰਦੇ ਹਨ; ਦੂਸਰੇ ਮੁਸ਼ਕਿਲ ਨਾਲ ਹਿੱਲਦੇ ਹਨ। ਆਕਾਰ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਅਤੇ ਕਦੇ-ਕਦਾਈਂ "ਗ੍ਰੇਮਲਿਨ" ਬੱਗਾਂ ਪ੍ਰਤੀ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਦੀ ਉਮੀਦ ਕਰੋ - ਆਪਣੇ ਅਸਲ ਵਰਕਲੋਡ ਤੋਂ ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਮਾਪੋ।.
ਕੀ ਕੁਆਂਟਾਇਜ਼ੇਸ਼ਨ ਯੋਗ ਹੈ, ਅਤੇ ਬਹੁਤ ਜ਼ਿਆਦਾ ਜਾਣ ਤੋਂ ਕਿਵੇਂ ਬਚਿਆ ਜਾਵੇ
ਕੁਆਂਟਾਇਜ਼ੇਸ਼ਨ ਮੈਮੋਰੀ ਨੂੰ ਘਟਾ ਸਕਦੀ ਹੈ ਅਤੇ ਅਨੁਮਾਨ ਨੂੰ ਤੇਜ਼ ਕਰ ਸਕਦੀ ਹੈ, ਖਾਸ ਕਰਕੇ INT8 ਨਾਲ, ਪਰ ਗੁਣਵੱਤਾ ਕਿਨਾਰੇ ਦੇ ਮਾਮਲਿਆਂ ਵਿੱਚ ਖਿਸਕ ਸਕਦੀ ਹੈ। ਲੋਅਰ-ਬਿੱਟ ਵਿਕਲਪ (ਜਿਵੇਂ ਕਿ INT4/k-ਬਿੱਟ) ਉੱਚ ਜੋਖਮ ਦੇ ਨਾਲ ਵੱਡੀ ਬੱਚਤ ਲਿਆਉਂਦੇ ਹਨ। ਸਭ ਤੋਂ ਸੁਰੱਖਿਅਤ ਆਦਤ ਇੱਕ ਅਸਲ ਟੈਸਟ ਸੈੱਟ 'ਤੇ ਮੁਲਾਂਕਣ ਕਰਨਾ ਅਤੇ ਆਉਟਪੁੱਟ ਦੀ ਤੁਲਨਾ ਕਰਨਾ ਹੈ, ਨਾ ਕਿ ਅੰਤੜੀਆਂ ਦੀ ਭਾਵਨਾ। ਪਹਿਲਾਂ ਸੁਰੱਖਿਅਤ ਕਦਮਾਂ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ, ਫਿਰ ਲੋੜ ਪੈਣ 'ਤੇ ਹੀ ਘੱਟ ਸ਼ੁੱਧਤਾ 'ਤੇ ਜਾਓ।.
ਮਾਡਲ ਦੇ ਆਕਾਰ ਨੂੰ ਘਟਾਉਣ ਲਈ ਛਾਂਟੀ ਅਤੇ ਡਿਸਟਿਲੇਸ਼ਨ ਵਿੱਚ ਅੰਤਰ
ਛਾਂਟੀ "ਡੈੱਡ ਵੇਟ" ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਹਟਾ ਦਿੰਦੀ ਹੈ ਅਤੇ ਅਕਸਰ ਗੁਣਵੱਤਾ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਦੁਬਾਰਾ ਸਿਖਲਾਈ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਹਮਲਾਵਰ ਢੰਗ ਨਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਡਿਸਟਿਲੇਸ਼ਨ ਇੱਕ ਛੋਟੇ ਵਿਦਿਆਰਥੀ ਮਾਡਲ ਨੂੰ ਇੱਕ ਵੱਡੇ ਅਧਿਆਪਕ ਦੇ ਵਿਵਹਾਰ ਦੀ ਨਕਲ ਕਰਨ ਲਈ ਸਿਖਲਾਈ ਦਿੰਦੀ ਹੈ, ਅਤੇ ਇਹ ਬਹੁਤ ਜ਼ਿਆਦਾ ਕੁਆਂਟਾਈਜ਼ੇਸ਼ਨ ਨਾਲੋਂ ਇੱਕ ਮਜ਼ਬੂਤ ਲੰਬੇ ਸਮੇਂ ਦਾ ROI ਹੋ ਸਕਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਛੋਟਾ ਮਾਡਲ ਚਾਹੁੰਦੇ ਹੋ ਜੋ ਇਸੇ ਤਰ੍ਹਾਂ ਵਿਵਹਾਰ ਕਰਦਾ ਹੈ ਅਤੇ ਸਥਿਰ ਰਹਿੰਦਾ ਹੈ, ਤਾਂ ਡਿਸਟਿਲੇਸ਼ਨ ਅਕਸਰ ਸਾਫ਼ ਰਸਤਾ ਹੁੰਦਾ ਹੈ।.
ਸਰਵਿੰਗ ਸੁਧਾਰਾਂ ਰਾਹੀਂ ਅਨੁਮਾਨ ਲਾਗਤ ਅਤੇ ਲੇਟੈਂਸੀ ਨੂੰ ਕਿਵੇਂ ਘਟਾਉਣਾ ਹੈ
ਸਰਵਿੰਗ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਔਪਟੀਮਾਈਜੇਸ਼ਨ ਠੋਸ ਬਣ ਜਾਂਦੀ ਹੈ: ਬੈਚਿੰਗ ਥਰੂਪੁੱਟ ਨੂੰ ਵਧਾਉਂਦੀ ਹੈ ਪਰ ਜੇਕਰ ਜ਼ਿਆਦਾ ਕੀਤਾ ਜਾਵੇ ਤਾਂ ਲੇਟੈਂਸੀ ਨੂੰ ਨੁਕਸਾਨ ਪਹੁੰਚਾ ਸਕਦੀ ਹੈ, ਇਸ ਲਈ ਇਸਨੂੰ ਧਿਆਨ ਨਾਲ ਟਿਊਨ ਕਰੋ। ਕੈਚਿੰਗ (ਪ੍ਰੋਂਪਟ ਕੈਚਿੰਗ ਅਤੇ ਕੇਵੀ-ਕੈਸ਼ ਰੀਯੂਜ਼) ਉਦੋਂ ਭਾਰੀ ਹੋ ਸਕਦੀ ਹੈ ਜਦੋਂ ਸੰਦਰਭ ਦੁਹਰਾਉਂਦੇ ਹਨ। ਸਟ੍ਰੀਮਿੰਗ ਆਉਟਪੁੱਟ ਸਮਝੀ ਗਈ ਗਤੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਂਦੀ ਹੈ ਭਾਵੇਂ ਕੁੱਲ ਸਮਾਂ ਸਮਾਨ ਹੋਵੇ। ਆਪਣੇ ਸਟੈਕ ਵਿੱਚ ਟੋਕਨ-ਬਾਈ-ਟੋਕਨ ਓਵਰਹੈੱਡ ਦੀ ਵੀ ਭਾਲ ਕਰੋ - ਛੋਟਾ ਪ੍ਰਤੀ-ਟੋਕਨ ਕੰਮ ਤੇਜ਼ੀ ਨਾਲ ਜੋੜਦਾ ਹੈ।.
ਏਆਈ ਮਾਡਲਾਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਂਦੇ ਸਮੇਂ ਟੇਲ ਲੇਟੈਂਸੀ ਇੰਨੀ ਮਾਇਨੇ ਕਿਉਂ ਰੱਖਦੀ ਹੈ
ਔਸਤ ਵਧੀਆ ਲੱਗ ਸਕਦੇ ਹਨ ਜਦੋਂ ਕਿ p99 ਇੱਕ ਆਫ਼ਤ ਹੈ, ਅਤੇ ਉਪਭੋਗਤਾ ਟੇਲ ਵਿੱਚ ਰਹਿੰਦੇ ਹਨ। ਟੇਲ ਲੇਟੈਂਸੀ ਅਕਸਰ ਘਬਰਾਹਟ ਤੋਂ ਆਉਂਦੀ ਹੈ: ਮੈਮੋਰੀ ਫ੍ਰੈਗਮੈਂਟੇਸ਼ਨ, CPU ਪ੍ਰੀਪ੍ਰੋਸੈਸਿੰਗ ਸਪਾਈਕਸ, ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਸਲੋਡਾਊਨ, ਜਾਂ ਖਰਾਬ ਬੈਚਿੰਗ ਵਿਵਹਾਰ। ਇਸ ਲਈ ਗਾਈਡ ਪ੍ਰਤੀਸ਼ਤ ਅਤੇ ਅਸਲ ਵਰਕਲੋਡ 'ਤੇ ਜ਼ੋਰ ਦਿੰਦੀ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਸਿਰਫ਼ p50 ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਂਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਅਜੇ ਵੀ ਇੱਕ ਅਨੁਭਵ ਭੇਜ ਸਕਦੇ ਹੋ ਜੋ "ਬੇਤਰਤੀਬ ਹੌਲੀ ਮਹਿਸੂਸ ਹੁੰਦਾ ਹੈ।"
ਹਵਾਲੇ
-
ਐਮਾਜ਼ਾਨ ਵੈੱਬ ਸੇਵਾਵਾਂ (AWS) - AWS ਕਲਾਉਡਵਾਚ ਪ੍ਰਤੀਸ਼ਤ (ਅੰਕੜੇ ਪਰਿਭਾਸ਼ਾਵਾਂ) - docs.aws.amazon.com
-
ਗੂਗਲ - ਦ ਟੇਲ ਐਟ ਸਕੇਲ (ਟੇਲ ਲੇਟੈਂਸੀ ਦਾ ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸ) - sre.google
-
ਗੂਗਲ - ਸੇਵਾ ਪੱਧਰ ਦੇ ਉਦੇਸ਼ (SRE ਕਿਤਾਬ) - ਲੇਟੈਂਸੀ ਪ੍ਰਤੀਸ਼ਤ - sre.google
-
ਪਾਈਟੋਰਚ - ਟਾਰਚ.ਕੰਪਾਈਲ - docs.pytorch.org
-
ਪਾਈਟੋਰਚ - ਫੁਲੀਸ਼ਾਰਡਡਡਾਟਾਪੈਰਲਲ (FSDP) - docs.pytorch.org
-
PyTorch - PyTorch ਪ੍ਰੋਫਾਈਲਰ - docs.pytorch.org
-
ਪਾਈਟੋਰਚ - CUDA ਅਰਥ ਸ਼ਾਸਤਰ: ਮੈਮੋਰੀ ਪ੍ਰਬੰਧਨ (CUDA ਮੈਮੋਰੀ ਵੰਡਣ ਵਾਲੇ ਨੋਟਸ) - docs.pytorch.org
-
ਪਾਈਟੋਰਚ - ਆਟੋਮੈਟਿਕ ਮਿਕਸਡ ਪ੍ਰਿਸੀਜ਼ਨ (torch.amp / AMP) - docs.pytorch.org
-
ਪਾਈਟੋਰਚ - torch.utils.checkpoint - docs.pytorch.org
-
ਪਾਈਟੋਰਚ - ਪ੍ਰਦਰਸ਼ਨ ਟਿਊਨਿੰਗ ਗਾਈਡ - docs.pytorch.org
-
ਪਾਈਟੋਰਚ - ਪ੍ਰੂਨਿੰਗ ਟਿਊਟੋਰਿਅਲ - docs.pytorch.org
-
PyTorch - PyTorch ਵਿੱਚ CUDA ਮੈਮੋਰੀ ਵਰਤੋਂ ਨੂੰ ਸਮਝਣਾ - docs.pytorch.org
-
ਪਾਈਟੋਰਚ - torch.compile ਟਿਊਟੋਰਿਅਲ / ਸੰਖੇਪ ਜਾਣਕਾਰੀ - docs.pytorch.org
-
ONNX ਰਨਟਾਈਮ - ONNX ਰਨਟਾਈਮ ਦਸਤਾਵੇਜ਼ - onnxruntime.ai
-
NVIDIA - TensorRT ਦਸਤਾਵੇਜ਼ੀਕਰਨ - docs.nvidia.com
-
NVIDIA - TensorRT ਕੁਆਂਟਾਇਜ਼ਡ ਕਿਸਮਾਂ - docs.nvidia.com
-
ਐਨਵੀਆਈਡੀਆ - ਐਨਸਾਈਟ ਸਿਸਟਮ - developer.nvidia.com
-
NVIDIA - ਟ੍ਰਾਈਟਨ ਇਨਫਰੈਂਸ ਸਰਵਰ - ਡਾਇਨਾਮਿਕ ਬੈਚਿੰਗ - docs.nvidia.com
-
ਡੀਪਸਪੀਡ - ਜ਼ੀਰੋ ਸਟੇਜ 3 ਦਸਤਾਵੇਜ਼ - deepspeed.readthedocs.io
-
ਬਿਟਸਐਂਡਬਾਈਟਸ (ਬਿਟਸਐਂਡਬਾਈਟਸ-ਫਾਊਂਡੇਸ਼ਨ) - ਬਿਟਸਐਂਡਬਾਈਟਸ - github.com
-
ਜੱਫੀ ਪਾਉਣ ਵਾਲਾ ਚਿਹਰਾ - ਐਕਸਲਰੇਟ: ਗਰੇਡੀਐਂਟ ਇਕੱਠਾ ਕਰਨ ਲਈ ਗਾਈਡ - huggingface.co
-
ਜੱਫੀ ਪਾਉਣ ਵਾਲਾ ਚਿਹਰਾ - ਟੋਕਨਾਈਜ਼ਰ ਦਸਤਾਵੇਜ਼ - huggingface.co
-
ਜੱਫੀ ਪਾਉਣ ਵਾਲਾ ਚਿਹਰਾ - ਟ੍ਰਾਂਸਫਾਰਮਰ: PEFT ਗਾਈਡ - huggingface.co
-
ਜੱਫੀ ਪਾਉਣ ਵਾਲਾ ਚਿਹਰਾ - ਟ੍ਰਾਂਸਫਾਰਮਰ: ਕੇਵੀ ਕੈਸ਼ ਵਿਆਖਿਆ - huggingface.co
-
ਜੱਫੀ ਪਾਉਣ ਵਾਲਾ ਚਿਹਰਾ - ਟ੍ਰਾਂਸਫਾਰਮਰ: "ਤੇਜ਼" ਟੋਕਨਾਈਜ਼ਰ (ਟੋਕਨਾਈਜ਼ਰ ਕਲਾਸਾਂ) - huggingface.co
-
arXiv - ਇੱਕ ਨਿਊਰਲ ਨੈੱਟਵਰਕ ਵਿੱਚ ਗਿਆਨ ਨੂੰ ਡਿਸਟਿਲ ਕਰਨਾ (ਹਿੰਟਨ ਐਟ ਅਲ., 2015) - arxiv.org
-
arXiv - LoRA: ਵੱਡੇ ਭਾਸ਼ਾ ਮਾਡਲਾਂ ਦਾ ਘੱਟ-ਦਰਜੇ ਦਾ ਅਨੁਕੂਲਨ - arxiv.org
-
arXiv - FlashAttention: IO-Awareness ਨਾਲ ਤੇਜ਼ ਅਤੇ ਯਾਦਦਾਸ਼ਤ-ਕੁਸ਼ਲ ਸਹੀ ਧਿਆਨ - arxiv.org