𝗬𝗼𝘂𝗿 𝗔𝗜 𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿 𝗜𝘀 𝗮 𝗦𝗶𝗻𝗴𝗹𝗲 𝗣𝗼𝗶𝗻𝘁 𝗼𝗳 𝗙𝗮𝗶𝗹𝘂𝗿𝗲
ਪਿਛਲੇ ਸ਼ੁੱਕਰਵਾਰ, ਅਮਰੀਕੀ ਵਣਜ ਵਿਭਾਗ (U.S. Commerce Department) ਨੇ Anthropic ਨੂੰ ਇੱਕ ਪੱਤਰ ਭੇਜਿਆ। ਉਸੇ ਸ਼ਾਮ ਤੱਕ, Fable 5 ਅਤੇ Mythos 5 ਗਾਇਬ ਹੋ ਗਏ।
ਉਹਨਾਂ ਨੂੰ ਹਟਾਇਆ (deprecated) ਨਹੀਂ ਗਿਆ ਸੀ। ਉਹਨਾਂ ਦੀ ਰਫ਼ਤਾਰ (throttled) ਘੱਟ ਨਹੀਂ ਕੀਤੀ ਗਈ ਸੀ। ਉਹ ਸਿਰਫ਼ ਗਾਇਬ ਹੋ ਗਏ ਸਨ।
API calls ਨੇ 404 errors ਦਿੱਤੇ। ਲਾਈਵ ਸੈਸ਼ਨ ਗੱਲਬਾਤ ਦੇ ਵਿਚਕਾਰ ਹੀ ਫੇਲ ਹੋ ਗਏ। ਉਹਨਾਂ ਮਾਡਲਾਂ 'ਤੇ ਨਿਰਭਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੇ ਕੰਮ ਕਰਨਾ ਬੰਦ ਕਰ ਦਿੱਤਾ। ਇਹ ਲਾਂਚ ਦੇ ਤਿੰਨ ਦਿਨਾਂ ਬਾਅਦ ਹੋਇਆ। ਕੋਈ ਚੇਤਾਵਨੀ ਨਹੀਂ ਸੀ ਅਤੇ ਨਾ ਹੀ ਮਾਈਗ੍ਰੇਸ਼ਨ ਲਈ ਕੋਈ ਸਮਾਂ ਦਿੱਤਾ ਗਿਆ ਸੀ।
ਅਸੀਂ ਕਿਸਮਤ ਵਾਲੇ ਸਨ ਕਿਉਂਕਿ ਉਹ ਮਾਡਲ ਨਵੇਂ ਸਨ। ਅਜੇ ਤੱਕ ਕਿਸੇ ਨੇ ਵੀ ਉਹਨਾਂ 'ਤੇ ਡੂੰਘੀ ਨਿਰਭਰਤਾ ਨਹੀਂ ਬਣਾਈ ਸੀ। ਕਲਪਨਾ ਕਰੋ ਕਿ ਜੇਕਰ ਅਜਿਹਾ ਕਿਸੇ ਅਜਿਹੇ ਮਾਡਲ ਨਾਲ ਹੋਵੇ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਛੇ ਮਹੀਨਿਆਂ ਤੋਂ ਰੋਜ਼ਾਨਾ ਵਰਤ ਰਹੇ ਹੋ।
ਜੇਕਰ ਇੱਕ ਸਰਕਾਰੀ ਪੱਤਰ ਤੁਹਾਡੇ ਮੁੱਖ ਡਾਟਾਬੇਸ ਨੂੰ ਬੰਦ ਕਰ ਸਕਦਾ ਹੈ, ਤਾਂ ਕੀ ਤੁਸੀਂ ਇਸਨੂੰ ਬਿਨਾਂ ਫੇਲਓਵਰ (failover) ਦੇ ਚਲਾਓਗੇ? ਤੁਸੀਂ ਨਹੀਂ ਚਲਾਓਗੇ। ਫਿਰ ਵੀ, ਜ਼ਿਆਦਾਤਰ ਟੀਮਾਂ AI ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਇਹੀ ਕਰਦੀਆਂ ਹਨ।
ਬਹੁਤ ਸਾਰੀਆਂ ਟੀਮਾਂ AI ਨੂੰ ਬਿਜਲੀ ਵਾਂਗ ਮੰਨਦੀਆਂ ਹਨ। ਤੁਸੀਂ ਸਵਿੱਚ ਦਬਾਉਂਦੇ ਹੋ ਅਤੇ ਰੌਸ਼ਨੀ ਦੀ ਉਮੀਦ ਕਰਦੇ ਹੋ। ਤੁਸੀਂ ਸਰੋਤ ਬਾਰੇ ਜਾਂ ਬਿਜਲੀ ਜਾਣ 'ਤੇ ਕੀ ਹੁੰਦਾ ਹੈ, ਇਸ ਬਾਰੇ ਨਹੀਂ ਸੋਚਦੇ। ਤੁਸੀਂ ਇੱਕ ਮਾਡਲ ਚੁਣਦੇ ਹੋ, ਇੱਕ endpoint ਨੂੰ hardcode ਕਰਦੇ ਹੋ, ਅਤੇ ਸ਼ਿਪ ਕਰ ਦਿੰਦੇ ਹੋ।
ਇਹ ਇੰਜੀਨੀਅਰਿੰਗ ਨਹੀਂ ਹੈ। ਇਹ ਉਮੀਦ 'ਤੇ ਅਧਾਰਤ ਆਰਕੀਟੈਕਚਰ (hope-driven architecture) ਹੈ।
ਮਾਡਲ ਇਹਨਾਂ ਕਾਰਨ ਗਾਇਬ ਹੋ ਸਕਦੇ ਹਨ:
- ਰੈਗੂਲੇਟਰੀ ਕਾਰਨਾਂ (Regulatory reasons)
- ਨੀਤੀਗਤ ਤਬਦੀਲੀਆਂ (Policy changes)
- ਭੂ-ਰਾਜਨੀਤਿਕ ਮੁੱਦੇ (Geopolitical issues)
Anthropic ਵਾਲੀ ਸਥਿਤੀ ਕੋਈ ਬੱਗ (bug) ਜਾਂ ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਦੀ ਅਸਫਲਤਾ ਨਹੀਂ ਸੀ। ਇਹ ਇੱਕ ਰੈਗੂਲੇਟਰੀ ਕਿਲ ਸਵਿੱਚ (regulatory kill switch) ਸੀ।
ਤੁਹਾਨੂੰ ਆਪਣੇ ਮਾਡਲ ਲੇਅਰ ਵਿੱਚ ਲਚਕਤਾ (resilience) ਬਣਾਉਣੀ ਚਾਹੀਦੀ ਹੈ। ਇਹਨਾਂ ਪੈਟਰਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ:
- ਆਪਣੇ ਮਾਡਲ ਕਾਲਜ਼ ਨੂੰ ਐਬਸਟਰੈਕਟ (Abstract) ਕਰੋ। ਇੱਕ ਇੰਟਰਫੇਸ ਦੀ ਵਰਤੋਂ ਕਰੋ ਤਾਂ ਜੋ ਤੁਹਾਡੀ ਐਪ ਨੂੰ ਇਸ ਗੱਲ ਨਾਲ ਕੋਈ ਫਰਕ ਨਾ ਪਵੇ ਕਿ ਕਿਹੜਾ ਪ੍ਰੋਵਾਈਡਰ ਜਵਾਬ ਦੇ ਰਿਹਾ ਹੈ।
- ਕਈ ਪ੍ਰੋਵਾਈਡਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇੱਕ ਪ੍ਰੋਵਾਈਡਰ ਨੂੰ ਬਦਲਣਾ ਇੱਕ ਕੌਂਫਿਗਰੇਸ਼ਨ ਤਬਦੀਲੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ, ਨਾ ਕਿ ਪੂਰਾ ਰੀ-ਰਾਈਟ।
- ਓਪਨ-ਵੇਟ (open-weight) ਮਾਡਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਜੇਕਰ ਤੁਸੀਂ ਮਾਡਲ ਖੁਦ ਚਲਾਉਂਦੇ ਹੋ, ਤਾਂ ਕੋਈ ਵੀ ਇਸਨੂੰ ਰਿਮੋਟਲੀ ਬੰਦ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਜਦੋਂ ਗਰਿੱਡ ਬੰਦ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਹ ਮਾਡਲ ਇੱਕ ਜਨਰੇਟਰ ਵਾਂਗ ਕੰਮ ਕਰਦੇ ਹਨ।
- ਗਰੇਸਫੁੱਲ ਡਿਗ੍ਰੇਡੇਸ਼ਨ (graceful degradation) ਲਾਗੂ ਕਰੋ। ਇੱਕ ਟੁੱਟੀ ਹੋਈ ਐਪਲੀਕੇਸ਼ਨ ਨਾਲੋਂ ਇੱਕ ਛੋਟਾ ਜਾਂ ਪੁਰਾਣਾ ਮਾਡਲ ਬਿਹਤਰ ਹੁੰਦਾ ਹੈ।
ਆਪਣੀਆਂ ਗਲਤੀਆਂ ਦੀ ਦਰ (error rates) ਦੀ ਨਿਗਰਾਨੀ ਕਰੋ। ਜੇਕਰ ਉਹ ਵਧਦੀਆਂ ਹਨ, ਤਾਂ ਬ੍ਰੇਕਰ ਨੂੰ ਟ੍ਰਿਪ ਕਰੋ ਅਤੇ ਟ੍ਰੈਫਿਕ ਨੂੰ ਆਪਣੇ ਫਾਲਬੈਕ (fallback) ਵੱਲ ਮੋੜ ਦਿਓ।
ਆਪਣੇ AI ਨੂੰ ਕਿਸੇ ਵੀ ਹੋਰ ਮਹੱਤਵਪੂਰਨ ਪ੍ਰੋਡਕਸ਼ਨ ਡਿਪੈਂਡੈਂਸੀ ਵਾਂਗ ਮੰਨੋ। ਅਸਫਲਤਾ ਲਈ ਡਿਜ਼ਾਈਨ ਕਰੋ।
ਕੀ ਤੁਹਾਡਾ ਆਰਕੀਟੈਕਚਰ ਇਹ ਮੰਨ ਕੇ ਚੱਲਦਾ ਹੈ ਕਿ ਤੁਹਾਡਾ ਪ੍ਰੋਵਾਈਡਰ ਅਸਫਲ ਹੋ ਸਕਦਾ ਹੈ? ਜੇਕਰ ਨਹੀਂ, ਤਾਂ ਤੁਸੀਂ ਖਤਰੇ ਵਿੱਚ ਹੋ।
ਕੀ ਤੁਸੀਂ ਆਪਣੇ ਸਟੈਕ ਵਿੱਚ ਮਲਟੀ-ਪ੍ਰੋਵਾਈਡਰ ਫਾਲਬੈਕ (multi-provider fallback) ਬਣਾਇਆ ਹੈ? ਮੈਨੂੰ ਕੁਮੈਂਟਸ ਵਿੱਚ ਦੱਸੋ।
Source: https://dev.to/aws/your-ai-provider-is-a-single-point-of-failure-26i2
Optional learning community: https://t.me/GyaanSetuAi