Поговорим о том, что еще важно учитывать в проектах машинного обучения. Очень важно понимать архитектуру IT-систем, потому что это важная часть, которая влияет на то, как вы будете строить вашу модель. Ведь ваша модель — она не изолирована, она должна как-то встраиваться в ландшафт той организации, для которой вы это делаете. А архитектура часто бывает очень сложная, состоящая из разных систем, и сюда же могут относиться требования к хранению данных, к тому, какие можно использовать базы данных, какие нельзя, и все это, в конечном счете, может повлиять на стек, то есть на тот набор программных компонент, языков программирования и так далее, того, что вы будете использовать в вашем проекте. Возможно, вы хотите использовать одно, но, изучив ландшафт банка и требования банка, или требования логистической компании, или требования какой-то государственной компании, вы выясните, что есть определенные ограничения, связанные с тем, что можно использовать, а что нельзя. Более того, здесь есть ограничения по информационной безопасности, которая тоже накладывает свои требования и к стеку, и к тому, как и что можно делать. В конечном счете, ведь вы не хотите, чтобы из-за вашего внедрения пострадала информационная безопасность, поэтому эти требования также очень важно учитывать и согласовывать в самом начале. Очень важно посмотреть на то, как хранятся данные, и что используется для хранения данных, потому что источники данных — они бывают легкодоступные и труднодоступные, а также нужно понимать, будут ли использоваться ваши данные для какой-то другой аналитики, или использоваться для каких-то других процессов, о которых вы, возможно, не подозреваете. Поэтому это все желательно учитывать. Еще один важный аспект — нужна ли вам интеграция с какими-то источниками данных? Возможно, эти данные должны поступать к вам для того, чтобы работало само машинное обучение, а, возможно, они вам нужны для того, чтобы просто интегрировать какие-то ответы и подставлять в них нужные переменные. Скажем, вы готовите ответ для клиента и подтягиваете его имя автоматически для того, чтобы сгенерированный машинным обучением ответ уходил персонализировано этому клиенту. Значит, вам требуется интеграция. Откуда вы будете это делать, какие источники будете использовать? И, конечно же, сама по себе интеграция — это дорогостоящий процесс, который обязательно повлияет на стоимость проекта. Следующий момент, который очень важно понимать — это кто будет обладать экспертизой. Есть ли у вас достаточно внутренней экспертизы для того, чтобы работать с моделью? Есть ли у вас экспертиза для того, чтобы ее сопровождать? Кто будет это делать? Вы? Какой-то вендор, который умеет это делать? Или это будут делать те, кто, собственно, и разрабатывал эту модель, и они готовы на каких-то условиях оказывать вам поддержку? То есть этот аспект тоже повлияет на стоимость владения этой системы, на стоимость сопровождения. Если вы хотите накапливать собственную экспертизу, соответственно, вам нужно ее развивать и искать специализированных людей. Даже будучи понимающим человеком, что такое машинное обучение, все равно нужно брать дата-сайентиста, а если это очень сложный стек, то, возможно, и дата-инженера, чтобы он умел с этим работать. Поэтому вопросы сопровождения решения после внедрения — они являются очень важными и влияют на стоимость. Также очень важно понимать вопросы развития модели: а как вы, собственно, собираетесь развивать модель, будете ли вы ее развивать? Кто-то должен давать новые данные, дообучать модель — как это будет происходить? Кто будет следить за актуальностью этих данных и актуальностью модели? Кто будет смотреть, чтобы эта модель всегда соответствовала тому изменению внешней среды, которое происходит, или изменению организации, которое происходит. Возможно, завтра поменяется законодательство, и вам придется что-то менять. Таким образом, для задач машинного обучения существует еще огромное количество факторов, которые следует учитывать, и эти факторы влияют очень сильно на стоимость внедрения: интеграция, те программные компоненты, которые вы используете. И еще очень важный момент — это нагрузка. Обратите внимание в самом начале проекта — требуется ли нагрузка, потому что создание и разработка высоконагруженных систем всегда стоит дороже, чем систем, которые работают с низкой нагрузкой. Поймите, нужно ли вам много транзакций? И, если нужно, то, конечно, нужно это закладывать в самом начале. Постарайтесь учитывать различные факторы в самом начале и определять стоимость проекта так, чтобы потом вы могли его внедрять безболезненно и с пониманием всех расходов, которые вы несете.