ਮੈਂ ਆਪਣੇ ASUS ROG Ally 'ਤੇ ਇੱਕ LLM ਲੋਕਲ ਤਰੀਕੇ ਨਾਲ ਚਲਾਇਆ
ਮੈਂ ਕੁਝ ਹਫ਼ਤਿਆਂ ਲਈ ਆਪਣੇ ASUS ROG Ally 'ਤੇ ਇੱਕ ਲੋਕਲ AI ਮਾਡਲ ਚਲਾਇਆ। ਮੈਨੂੰ ਲੱਗਿਆ ਸੀ ਕਿ ਇਹ ਇੱਕ ਮਜ਼ੇਦਾਰ ਪ੍ਰੋਜੈਕਟ ਹੋਵੇਗਾ। ਇਸ ਦੀ ਬਜਾਏ, ਇਹ ਹਾਰਡਵੇਅਰ ਦੀਆਂ ਸੀਮਾਵਾਂ ਬਾਰੇ ਇੱਕ ਸਬਕ ਬਣ ਗਿਆ।
ਮੈਂ ਇਸਨੂੰ ਕਲਾਉਡ ਦੇ ਬਦਲ ਵਜੋਂ ਨਹੀਂ ਵਰਤਿਆ। ਮੈਂ ਇਸਨੂੰ ਛੋਟੇ ਕੰਮਾਂ ਲਈ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਟੂਲ ਵਜੋਂ ਵਰਤਿਆ। ਹੈਂਡਹੈਲਡ ਹਾਰਡਵੇਅਰ 'ਤੇ AI ਚਲਾਉਣ ਬਾਰੇ ਮੈਂ ਜੋ ਕੁਝ ਸਿੱਖਿਆ ਹੈ, ਉਹ ਇੱਥੇ ਹੈ।
ਮੈਮੋਰੀ ਦੀ ਰੁਕਾਵਟ
ਹੈਂਡਹੈਲਡ ਯੂਨੀਫਾਈਡ ਮੈਮੋਰੀ ਆਰਕੀਟੈਕਚਰ (Unified Memory Architecture) ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ CPU ਅਤੇ GPU ਇੱਕੋ RAM ਸਾਂਝੀ ਕਰਦੇ ਹਨ। ਡਿਫੌਲਟ ਰੂਪ ਵਿੱਚ, GPU ਨੂੰ ਮੈਮੋਰੀ ਦਾ ਇੱਕ ਬਹੁਤ ਛੋਟਾ ਹਿੱਸਾ ਮਿਲਦਾ ਹੈ।
ਜੇਕਰ ਤੁਹਾਡਾ ਮਾਡਲ ਉਸ ਹਿੱਸੇ ਵਿੱਚ ਨਹੀਂ ਆਉਂਦਾ, ਤਾਂ ਸਿਸਟਮ CPU ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਸ ਨਾਲ ਜਨਰੇਸ਼ਨ (generation) ਬਹੁਤ ਹੀ ਹੌਲੀ ਹੋ ਜਾਂਦੀ ਹੈ।
ਇਸਦਾ ਹੱਲ:
- ਆਪਣੇ BIOS ਵਿੱਚ ਜਾਓ।
- ਮੈਨੁਅਲੀ UMA ਫਰੇਮ ਬਫਰ (frame buffer) ਵਧਾਓ।
- ਮੈਂ ਆਪਣਾ 4 GB ਤੱਕ ਵਧਾ ਦਿੱਤਾ। ਇਸ ਬਦਲਾਅ ਨੇ ਕਿਸੇ ਵੀ ਹੋਰ ਤਰੀਕੇ ਨਾਲੋਂ ਜ਼ਿਆਦਾ ਮਦਦ ਕੀਤੀ।
ਕੀ ਕੰਮ ਨਹੀਂ ਕਰਦਾ
ਮੈਂ ਆਪਣੀ ਮੈਮੋਰੀ ਵਿੱਚ ਹੋਰ ਜਗ੍ਹਾ ਬਣਾਉਣ ਲਈ zRAM ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਇਹ ਅਸਫਲ ਰਹੀ। ਜ਼ਿਆਦਾਤਰ AI ਮਾਡਲ GGUF ਫਾਈਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ ਜੋ ਪਹਿਲਾਂ ਹੀ ਕੰਪਰੈੱਸਡ (compressed) ਹੁੰਦੀਆਂ ਹਨ। ਤੁਸੀਂ ਜਗ੍ਹਾ ਬਣਾਉਣ ਲਈ ਉਹਨਾਂ ਨੂੰ ਹੋਰ ਕੰਪਰੈੱਸ ਨਹੀਂ ਕਰ ਸਕਦੇ।
ਮੈਂ ਮਦਦ ਲਈ ਡਿਸਕ ਸਵੈਪ (disk swap) ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਵੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਸਵੈਪ ਚੀਜ਼ਾਂ ਨੂੰ ਤੇਜ਼ ਨਹੀਂ ਬਣਾਉਂਦਾ। ਇਹ ਉਹਨਾਂ ਨੂੰ ਵਰਤਣ ਦੇ ਯੋਗ ਹੀ ਨਹੀਂ ਰਹਿਣ ਦਿੰਦਾ। ਜੇਕਰ ਤੁਹਾਡਾ ਮਾਡਲ ਡਿਸਕ ਸਵੈਪ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਨੂੰ ਹਰ ਕੁਝ ਸੈਕਿੰਡ ਬਾਅਦ ਸਿਰਫ਼ ਇੱਕ ਸ਼ਬਦ ਹੀ ਦਿਖਾਈ ਦੇਵੇਗਾ।
ਸਵੈਪ ਨੂੰ ਚਾਲੂ ਰੱਖਣ ਦਾ ਇੱਕੋ ਇੱਕ ਕਾਰਨ ਇਹ ਹੈ ਕਿ ਜਦੋਂ ਤੁਹਾਡੀ RAM ਖਤਮ ਹੋ ਜਾਵੇ ਤਾਂ ਸਿਸਟਮ ਤੁਹਾਡੇ ਪ੍ਰੋਸੈਸ (process) ਨੂੰ ਬੰਦ ਨਾ ਕਰ ਦੇਵੇ।
ਸੁਚਾਰੂ ਰਨ ਲਈ ਸੁਝਾਅ
ਜੇਕਰ ਤੁਹਾਡਾ AI ਆਉਟਪੁੱਟ ਟੁਕੜਿਆਂ ਵਿੱਚ ਜਾਂ ਅਸਮਾਨਤਾ ਨਾਲ ਆ ਰਿਹਾ ਹੈ, ਤਾਂ ਆਪਣੀਆਂ Linux ਕਰਨਲ (kernel) ਸੈਟਿੰਗਾਂ ਦੀ ਜਾਂਚ ਕਰੋ।
- ਆਪਣੀ
vm.swappinessਵੈਲਯੂ ਘਟਾਓ। - ਇਹ ਸਿਸਟਮ ਨੂੰ ਮੈਮੋਰੀ ਨੂੰ ਬਹੁਤ ਜਲਦੀ ਸਵੈਪ ਵਿੱਚ ਭੇਜਣ ਤੋਂ ਰੋਕਦਾ ਹੈ।
- ਇਹ ਜਨਰੇਸ਼ਨ ਨੂੰ ਅਟਕਣ ਦੀ ਬਜਾਏ ਸਥਿਰ ਬਣਾਉਂਦਾ ਹੈ।
ਮਾਡਲ ਦੀ ਚੋਣ ਵਰਤੋਂ ਦੇ ਮਕਸਦ (Use-Case) 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ
ਜ਼ਿਆਦਾਤਰ ਲੋਕ ਸਭ ਤੋਂ ਤੇਜ਼ ਮਾਡਲ ਲੱਭਦੇ ਹਨ। ਇਸ ਦੀ ਬਜਾਏ, ਮੈਂ ਇੱਕ ਹੌਲੀ ਪਰ ਵਧੇਰੇ ਸਹੀ (sharper) ਮਾਡਲ ਚੁਣਿਆ।
- ਜੇਕਰ ਤੁਸੀਂ ਰੀਅਲ ਟਾਈਮ ਵਿੱਚ ਚੈਟ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਰਫਤਾਰ ਦੀ ਲੋੜ ਹੈ।
- ਜੇਕਰ ਤੁਸੀਂ ਬੈਕਗ੍ਰਾਊਂਡ ਏਜੰਟ ਚਲਾਉਂਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਕੁਆਲਿਟੀ ਦੀ ਲੋੜ ਹੈ।
ਮੈਂ ਆਪਣੇ ਸੈੱਟਅੱਪ ਦੀ ਵਰਤੋਂ ਬੈਕਗ੍ਰਾਊਂਡ ਕੰਮਾਂ ਲਈ ਕਰਦਾ ਹਾਂ। ਮੈਂ ਇੱਕ ਰਿਕਵੈਸਟ ਭੇਜਦਾ ਹਾਂ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਨਤੀਜਾ ਚੈੱਕ ਕਰਦਾ ਹਾਂ। ਕਿਉਂਕਿ ਮੈਂ ਸਕ੍ਰੀਨ ਨਹੀਂ ਦੇਖ ਰਿਹਾ ਹੁੰਦਾ, ਇਸ ਲਈ ਮੈਨੂੰ ਕੋਈ ਫਰਕ ਨਹੀਂ ਪੈਂਦਾ ਜੇਕਰ ਜਵਾਬ 8 ਸੈਕਿੰਡ ਦੀ ਬਜਾਏ 40 ਸੈਕਿੰਡ ਲੈਂਦਾ ਹੈ। ਮੈਨੂੰ ਸਭ ਤੋਂ ਵਧੀਆ ਜਵਾਬ ਚਾਹੀਦਾ ਹੈ, ਸਭ ਤੋਂ ਤੇਜ਼ ਨਹੀਂ।
ਹੈਂਡਹੈਲਡ 'ਤੇ ਰੀਜ਼ਨਿੰਗ (reasoning) ਮਾਡਲਾਂ ਤੋਂ ਬਚੋ। ਕਮਜ਼ੋਰ ਹਾਰਡਵੇਅਰ 'ਤੇ ਸਟੈਪ-ਬਾਈ-ਸਟੈਪ ਸੋਚਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਬਹੁਤ ਜ਼ਿਆਦਾ ਸਮਾਂ ਲੱਗਦਾ ਹੈ। ਕੁਆਲਿਟੀ ਵਿੱਚ ਹੋਣ ਵਾਲਾ ਵਾਧਾ ਅਕਸਰ ਇੰਨਾ ਨਹੀਂ ਹੁੰਦਾ ਕਿ ਉੰਨਾ ਇੰਤਜ਼ਾਰ ਕੀਤਾ ਜਾਵੇ।
ਇਹ ਕਿਸ ਲਈ ਵਧੀਆ ਹੈ
16 GB ਦਾ ਡਿਵਾਈਸ ਇਹਨਾਂ ਲਈ ਵਧੀਆ ਹੈ:
- ਛੋਟੀਆਂ ਈਮੇਲਾਂ ਦਾ ਡਰਾਫਟ ਤਿਆਰ ਕਰਨ ਲਈ।
- ਕੋਡ ਦੇ ਛੋਟੇ ਟੁਕੜਿਆਂ ਦੀ ਸਮੀਖਿਆ ਕਰਨ ਲਈ।
- ਰੋਜ਼ਾਨਾ ਦੀ ਰਫ (rough) ਯੋਜਨਾਬੰਦੀ ਲਈ।
- ਨਿੱਜੀ ਕੰਮ ਜੋ ਤੁਹਾਡੇ ਨੈੱਟਵਰਕ ਤੋਂ ਬਾਹਰ ਨਹੀਂ ਜਾਣੇ ਚਾਹੀਦੇ।
ਇਹ ਇਹਨਾਂ ਲਈ ਮਾੜਾ ਹੈ:
- ਲੰਬੇ ਦਸਤਾਵੇਜ਼।
- ਡੂੰਘੀ ਖੋਜ।
- ਗੁੰਝਲਦਾਰ ਕੋਡਿੰਗ ਪ੍ਰੋਜੈਕਟ।
ਲੋਕਲ AI ਇੱਕ ਟੂਲ ਹੈ, ਕੋਈ ਚਮਤਕਾਰ ਨਹੀਂ। ਇਹ ਰੋਜ਼ਾਨਾ ਦੇ ਹਲਕੇ ਕੰਮਾਂ ਲਈ ਬਿਲਕੁਲ ਸਹੀ ਹੈ।
Optional learning community: https://t.me/GyaanSetuAi
