Идея крутая, но не хватает деталей по производительности и требованиям к железу.
Пока что трудно дать какие-либо детали. Но могу сразу сказать - не все так плохо. Да, модель может есть очень много ресурсов, но это связано с прикладными задачами. Для локальных целей можно выставить адекватные параметры контекстного окна и температуры, например, при большой температуре ИИ будет сильно "креативить", что в свою очередь повлияет на ответ и, как следствие, на утилизацию ресурсов. Это кстати все неправда, что есть якобы "креативно" обученные модели, как пишут некоторые "эксперты". Все зависит от температуры, которую вы укажите в промте. Ну и количество токенов, разумеется, тут сильно не разгуляешься, но более менее оптимальный рзамер подобрать можно, чтобы сильно не проседать по ресурсам.
В общем, когда дойду до деплоя в яндекс облако, тогда уже понятно будет.
Вопрос только в качестве ответов у 1B-модели – по-хорошему, надо тестить что-то побольше, например, Llama 3-8B
Я планирую в следующей итерации добавить меню выбора доступных моделей. Пока еще руки не дошли, но как будет готово сделаю еще одну статью.
Пока что запускайте с ключом: --add-modules jdk.incubator.vector --enable-preview. Vector API скорее всего появится только в 25 Java, а это сентябрь этого года, не раньше.
Я правильно понимаю, что Java был выбран только потому, что он вам более знаком?
Java был выбран, потому что есть определенный запрос, а информации по Java реализации очень мало.
Потому как запуск Llama на Python делается примерно в 20 строк кода, причем эти строки обычно уже написаны в readme к модели.
Функция ask в ArtificialIntelligenceModel ровно 22 строки кода, а это и есть весь запуск инференса. Вообще в мире ai много строк кода не бывает о чем много раз говорил Андрей Карпатый.
Вы используете @EnableWebFluxSecurity , но Redis используете не реактивный
Что значит "редис используется не реактивный"? Реактивным может быть коннект к редису и, как следствие, весь код, так или иначе связанный с ним. И здесь он самый что ни на есть реактивный - смотрите на аннотацию @EnableRedisWebSession,это добавляет поддержку реактивных сессий в Redis.
Получается, сессия всё равно частично хранится внутри SPring
Что значит хранятся внутри "SPring"? Что такое в вашем понимании "SPring"? В данном примере персистентность сессий полностью реализована в редисе и только в нем.
Никакая нейросеть faceid взломать не сможет - думаете никто не пробовал? Все девайсы apple при сканировании лица строят так называемую "карту глубины", т.е. грубо говоря анализируют объем изображения с помощью датчиков. А deepfake по своей природе плоское изображение будь он хоть каким реалистичным. Единственный способ взлома faceid - это изготовление 3d копии лица и хакеры это делать умеют, но эта процедура очень трудоемкая.
faceid элементарно обходится.
Приведите, пожалуйста пруф своих утверждений как можно "элементарно" обойти faceid или, может, как вы сами это делали. Deepfake сейчас создать очень легко, продемонстрируйте.
От себя еще добавлю один момент - ваш процесс авторизации это Ouath 2.0 и это замечательно. Но вы используете публичного клиента для вашего фронта, я вижу в запросе client_id, при чем это guid. Очень похоже что у вас keycloak в качестве сервера авторизации. Рекомендую весь флоу авторизации вынести на BFF, например шлюз spring cloud gateway, и сделать его приватным клиентом.
Добрый день. Спасибо большое за комментарий. Но речь идет немного не об этом - то, что для подтверждения операций вы используете подписание (я так понимаю механизм otp sign) это вопросов не вызывает, хотя и у этого способа есть определенные проблемы с безопасностью. Мы обсуждаем другое - насколько правильно использовать код из смс для идентификации клиента при общении со службой поддержки. И мой основной посыл - лучше так не делать, это небезопасно.
Пример хороший, спасибо. Это и есть CIBA практически в чистом виде. У amazon такое есть, у microsoft тоже. На отечественном рынке я, честно говоря, такого не видел нигде.
Теперь вторым фактором стала биометрия ? Как быстро она станет единственным ? Насколько она вообще надёжна ? Хороший визажист загримирует вас так, что родная мать не отличит от жертвы...
Так, конечно, face id взломать не получится, но можно изготовить копию лица, такая атака уже известна.
И потом, как биометрия вообще может быть вторым фактором? Этож должен быть фактор который подтверждает не владение чем-то, а знание чего-то...
Может и на данный момент она считается более безопасной, чем коды из смс.
По своему опыту скажу вам так - задача перевода банка легаси авторизации на полноценный Oauth 2.0 - это если не героическая задача, то как минимум очень трудная. Нужно идеально знать все технологии безопасности - keycloak, spring authorization server, spring security и т.д. При это обязательно нужна обратная совместимость с легаси авторизацией, чтобы разрабы в панике не правили баги на коленке. Представьте, что будет если 50 млн пользователей разом разлогинит - банк, наверное, не обнищает, но получит самый масштабный коллапс в своей истории.
В общем то она известна, есть на сайте ЦБ, я могу собрать ее и приложить к статье - потери банков в 2018 году 1млрд, начиная с 2019 и далее (как раз когда начали просить код из смс) - 9.7 млрд, 13.5 и т.д. Есть данные от лаборатории касперского - там это связывают с подделками номеров (сейчас уже не очень актуально, т.к. во всех банках есть проверка imsi) и запросом кода из смс. Чуть позже найду и приложу.
Спасибо за фидбэк. Я упоминал в статье про Client-Initiated Backchannel Authentication Flow или CIBA. Это расширение Ouath 2.0 специально для таких случаев. Он довольно сложен в описании, и я решил вынести это за скобки. В keycloak он есть, но проблема в том, что во многих банках используются свои самописные серверы авторизации и такого флоу там просто нет. Да и мало кто про него знает.
Подтверждение операции по смс не так кошмарно, как просить код из смс при общении с клиентом. Это навязывает клиенту плохой шаблон поведения. Неудивительно, что после того, как банки стали так делать количество атак мошенников увеличилось в разы.
Вы правы. Я как человек много лет проработавший в двух крупных банках знаю это не понаслышке. ЦБ знает про Oauth 2.0 и OpenID Connect. В свое время я задал вопрос сотруднику ЦБ, который проводил у нас аудит, если ЦБ настаивает на использовании Ouath 2.0, почему большинство банков игнорируют это требованию. И он ответил, что невозможно сделать это требование жестким, т.к. за давностью лет многие банки технически не могут перейти на Ouath 2.0.
Пока что трудно дать какие-либо детали. Но могу сразу сказать - не все так плохо. Да, модель может есть очень много ресурсов, но это связано с прикладными задачами. Для локальных целей можно выставить адекватные параметры контекстного окна и температуры, например, при большой температуре ИИ будет сильно "креативить", что в свою очередь повлияет на ответ и, как следствие, на утилизацию ресурсов. Это кстати все неправда, что есть якобы "креативно" обученные модели, как пишут некоторые "эксперты". Все зависит от температуры, которую вы укажите в промте. Ну и количество токенов, разумеется, тут сильно не разгуляешься, но более менее оптимальный рзамер подобрать можно, чтобы сильно не проседать по ресурсам.
В общем, когда дойду до деплоя в яндекс облако, тогда уже понятно будет.
Я планирую в следующей итерации добавить меню выбора доступных моделей. Пока еще руки не дошли, но как будет готово сделаю еще одну статью.
Пока что запускайте с ключом:
--add-modules jdk.incubator.vector --enable-preview
. Vector API скорее всего появится только в 25 Java, а это сентябрь этого года, не раньше.Java был выбран, потому что есть определенный запрос, а информации по Java реализации очень мало.
Функция
ask
вArtificialIntelligenceModel
ровно 22 строки кода, а это и есть весь запуск инференса. Вообще в мире ai много строк кода не бывает о чем много раз говорил Андрей Карпатый.Что значит "редис используется не реактивный"? Реактивным может быть коннект к редису и, как следствие, весь код, так или иначе связанный с ним. И здесь он самый что ни на есть реактивный - смотрите на аннотацию @EnableRedisWebSession,это добавляет поддержку реактивных сессий в Redis.
Что значит хранятся внутри "SPring"? Что такое в вашем понимании "SPring"? В данном примере персистентность сессий полностью реализована в редисе и только в нем.
Спасибо большое, интересный девайс. Правда цена немного кусачая.
Никакая нейросеть faceid взломать не сможет - думаете никто не пробовал? Все девайсы apple при сканировании лица строят так называемую "карту глубины", т.е. грубо говоря анализируют объем изображения с помощью датчиков. А deepfake по своей природе плоское изображение будь он хоть каким реалистичным. Единственный способ взлома faceid - это изготовление 3d копии лица и хакеры это делать умеют, но эта процедура очень трудоемкая.
Приведите, пожалуйста пруф своих утверждений как можно "элементарно" обойти faceid или, может, как вы сами это делали. Deepfake сейчас создать очень легко, продемонстрируйте.
Я когда это читал не мог поверить своим глазам, но все равно спасибо вам за ваше мнение, на этом диалог можно закончить.
От себя еще добавлю один момент - ваш процесс авторизации это Ouath 2.0 и это замечательно. Но вы используете публичного клиента для вашего фронта, я вижу в запросе client_id, при чем это guid. Очень похоже что у вас keycloak в качестве сервера авторизации. Рекомендую весь флоу авторизации вынести на BFF, например шлюз spring cloud gateway, и сделать его приватным клиентом.
Добрый день. Спасибо большое за комментарий. Но речь идет немного не об этом - то, что для подтверждения операций вы используете подписание (я так понимаю механизм otp sign) это вопросов не вызывает, хотя и у этого способа есть определенные проблемы с безопасностью. Мы обсуждаем другое - насколько правильно использовать код из смс для идентификации клиента при общении со службой поддержки. И мой основной посыл - лучше так не делать, это небезопасно.
Пример хороший, спасибо. Это и есть CIBA практически в чистом виде. У amazon такое есть, у microsoft тоже. На отечественном рынке я, честно говоря, такого не видел нигде.
Так, конечно, face id взломать не получится, но можно изготовить копию лица, такая атака уже известна.
Может и на данный момент она считается более безопасной, чем коды из смс.
И тем не менее банки долгие годы спрашивали эти коды. И на сегодняшний день некоторые продолжают спрашивать. И мошенники делают тоже самое.
Если приложения нет, то это проблема, т.к. безопасного способа без явных векторов атак не будет.
В общем то в этом и есть суть CIBA, но мало у кого такое есть.
На самом деле тут не все так плохо - кое где есть биометрия как второй фактор (webauthn). У сбера точно есть, у втб кажется тоже.
Спасибо за фидбэк, хорошее замечание. Доступно рассказать про Client-Initiated Backchannel Authentication Flow трудно, но я подумаю как это можно сделать.
По своему опыту скажу вам так - задача перевода банка легаси авторизации на полноценный Oauth 2.0 - это если не героическая задача, то как минимум очень трудная. Нужно идеально знать все технологии безопасности - keycloak, spring authorization server, spring security и т.д. При это обязательно нужна обратная совместимость с легаси авторизацией, чтобы разрабы в панике не правили баги на коленке. Представьте, что будет если 50 млн пользователей разом разлогинит - банк, наверное, не обнищает, но получит самый масштабный коллапс в своей истории.
В общем то она известна, есть на сайте ЦБ, я могу собрать ее и приложить к статье - потери банков в 2018 году 1млрд, начиная с 2019 и далее (как раз когда начали просить код из смс) - 9.7 млрд, 13.5 и т.д. Есть данные от лаборатории касперского - там это связывают с подделками номеров (сейчас уже не очень актуально, т.к. во всех банках есть проверка imsi) и запросом кода из смс. Чуть позже найду и приложу.
Спасибо за фидбэк. Я упоминал в статье про Client-Initiated Backchannel Authentication Flow или CIBA. Это расширение Ouath 2.0 специально для таких случаев. Он довольно сложен в описании, и я решил вынести это за скобки. В keycloak он есть, но проблема в том, что во многих банках используются свои самописные серверы авторизации и такого флоу там просто нет. Да и мало кто про него знает.
Подтверждение операции по смс не так кошмарно, как просить код из смс при общении с клиентом. Это навязывает клиенту плохой шаблон поведения. Неудивительно, что после того, как банки стали так делать количество атак мошенников увеличилось в разы.
Вы правы. Я как человек много лет проработавший в двух крупных банках знаю это не понаслышке. ЦБ знает про Oauth 2.0 и OpenID Connect. В свое время я задал вопрос сотруднику ЦБ, который проводил у нас аудит, если ЦБ настаивает на использовании Ouath 2.0, почему большинство банков игнорируют это требованию. И он ответил, что невозможно сделать это требование жестким, т.к. за давностью лет многие банки технически не могут перейти на Ouath 2.0.