AI ਸਿਸਟਮਾਂ ਵਿੱਚ ਰੇਟ ਲਿਮਿਟਿੰਗ (Rate Limiting) ਅਤੇ ਸਰਕਟ ਬ੍ਰੇਕਰ (Circuit Breakers)

ਡਿਸਟ੍ਰੀਬਿਊਟਡ (Distributed) AI ਸਿਸਟਮ ਗੁੰਝਲਦਾਰ ਹੁੰਦੇ ਹਨ। ਉਹ ਬਹੁਤ ਜ਼ਿਆਦਾ ਰਿਕੁਐਸਟ ਵੌਲਯੂਮ ਅਤੇ ਭਾਰੀ ਮਾਡਲ ਇਨਫਰੈਂਸ (model inference) ਨੂੰ ਸੰਭਾਲਦੇ ਹਨ। ਤੁਸੀਂ GPU ਕਲੱਸਟਰਾਂ, ਡੇਟਾਬੇਸਾਂ ਅਤੇ Third-party APIs 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹੋ। ਇੱਕ ਖਰਾਬ ਕੰਪੋਨੈਂਟ ਜਾਂ ਟ੍ਰੈਫਿਕ ਵਿੱਚ ਅਚਾਨਕ ਵਾਧਾ ਤੁਹਾਡੇ ਪੂਰੇ ਸਿਸਟਮ ਨੂੰ ਕ੍ਰੈਸ਼ ਕਰ ਸਕਦਾ ਹੈ।

ਆਪਣੇ ਸਿਸਟਮ ਦੀ ਰੱਖਿਆ ਲਈ ਤੁਹਾਨੂੰ ਦੋ ਸਾਧਨਾਂ ਦੀ ਲੋੜ ਹੈ: ਰੇਟ ਲਿਮਿਟਿੰਗ (rate limiting) ਅਤੇ ਸਰਕਟ ਬ੍ਰੇਕਰ (circuit breakers)।

ਰੇਟ ਲਿਮਿਟਿੰਗ (Rate Limiting) ਰੇਟ ਲਿਮਿਟਿੰਗ ਕਿਸੇ ਇੱਕ ਯੂਜ਼ਰ ਜਾਂ ਸਰਵਿਸ ਨੂੰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਸਰੋਤਾਂ (resources) ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਰੋਕਦੀ ਹੈ। ਇਹ ਹਰ ਕਿਸੇ ਲਈ ਬਰਾਬਰ ਪਹੁੰਚ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ।

ਆਮ ਤਰੀਕੇ:

AI ਲਈ ਪ੍ਰੋ ਟਿਪ (Pro tip): ਸਿਰਫ਼ ਰਿਕੁਐਸਟਾਂ ਦੁਆਰਾ ਨਹੀਂ, ਸਗੋਂ ਟੋਕਨਾਂ ਦੀ ਗਿਣਤੀ ਦੁਆਰਾ ਸੀਮਾ ਨਿਰਧਾਰਤ ਕਰੋ। 4,000 ਟੋਕਨਾਂ ਵਾਲਾ ਇੱਕ ਪ੍ਰੋਂਪਟ (prompt), 10 ਟੋਕਨਾਂ ਵਾਲੇ ਪ੍ਰੋਂਪਟ ਨਾਲੋਂ ਵੱਧ ਸਰੋਤਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।

ਸਰਕਟ ਬ੍ਰੇਕਰ (Circuit Breakers) ਇੱਕ ਸਰਕਟ ਬ੍ਰੇਕਰ ਤੁਹਾਡੇ GPU ਸਰਵਰ ਜਾਂ ਵੈਕਟਰ ਡੇਟਾਬੇਸ (vector database) ਵਰਗੀਆਂ ਸਰਵਿਸਾਂ ਨੂੰ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਕਾਲਾਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਕੋਈ ਸਰਵਿਸ ਬਹੁਤ ਜ਼ਿਆਦਾ ਵਾਰ ਫੇਲ੍ਹ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਬ੍ਰੇਕਰ ਖੁੱਲ੍ਹ ਜਾਂਦਾ ਹੈ। ਇਹ ਤੁਰੰਤ ਉਸ ਸਰਵਿਸ ਨੂੰ ਕੀਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਸਾਰੀਆਂ ਕਾਲਾਂ ਨੂੰ ਰੋਕ ਦਿੰਦਾ ਹੈ। ਇਹ ਪੂਰੇ ਸਿਸਟਮ ਨੂੰ ਕ੍ਰੈਸ਼ ਹੋਣ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ।

ਸਰਕਟ ਤਿੰਨ ਸਥਿਤੀਆਂ (states) ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ:

ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸ (Best practices):

ਸਰੋਤ: https://dev.to/biao_lin_14b493a4944b1361/rate-limiting-and-circuit-breakers-in-distributed-ai-systems-1p56

ਵਿਕਲਪਿਕ ਲਰਨਿੰਗ ਕਮਿਊਨਿਟੀ: https://t.me/GyaanSetuAi