Rapid7’s Data-Centric Approach to AI in Belfast

Post Syndicated from Rapid7 original https://blog.rapid7.com/2024/01/05/rapid7s-data-centric-approach-to-ai-in-belfast/

Rapid7’s Data-Centric Approach to AI in Belfast

Rapid7 has expanded significantly in Belfast since establishing a presence back in 2014, resulting in the company’s largest R&D hub outside the US with over 350 people spread across eight floors in our Chichester Street office.  There is a wide range of product development and engineering across the entire Rapid7 platform that happens here, but nearest and dearest to our hearts is that Belfast has really become the epicentre for our more than two decades of investment in data. It has formed the bedrock for our AI, machine learning and data science efforts.

Read on to find out more about the importance of data and AI at Rapid7!

Rapid7’s Data-Centric Approach to AI in Belfast

A Forward-thinking Data Attitude

First up let’s talk data.  We’ve had a specialist data presence in Belfast for a number of years, initially focused on the consumption, distribution, and analytics for quality product usage data, via interfaces such as Amazon SNS/SQS, piping data into time-series data stores like TimescaleDB and InfluxDB.  Product usage data is unique due to its high volume and cardinality, which these data stores are optimized for.  The evolution of data at Rapid7 required more scale, so we’ve been introducing more scalable technologies such as Apache Kafka, Spark, and Iceberg.  This stack will enable multiple entry points for access to our data.

  • Apache Kafka, the heart of our data infrastructure, is a distributed streaming platform allowing us to handle real-time data streams with ease.  Kafka acts as a reliable and scalable pipeline, ingesting massive amounts of data from various sources in real-time. Its pub-sub architecture ensures data is efficiently distributed across the system, with multiple types of consumers per topic enabling teams to process and analyze information as it flows.
  • Transforms run via Apache Spark, serving as the processing engine taking our data to the next level, opening us up to either batch processing or streaming directly from Kafka where we ultimately land the data into an object store with the Iceberg layer on top.
  • Apache Iceberg is an open table format for large-scale datasets, providing ACID transactions, schema evolution, and time travel capabilities. These features are instrumental in maintaining consistency and reliability of our data, which is crucial for AI and analytics at Rapid7.  Additionally, the ability to perform time travel queries with Iceberg allows us to analyze and curate historical data, an essential component in building predictive AI models.

Our Engineers are constantly developing applications on this stack to facilitate ETL pipelines in languages such as Python, Java and Scala, running within K8s clusters.  In keeping with our forward-thinking attitude to data, we continue to adopt new tooling and governance to facilitate growth, such as the introduction of a Data Catalog to visualize lineage with a searchable interface for metadata.  In this way, users self-discover data but also learn how specific datasets are related, giving a clearer understanding of usage.  All this empowers data and AI Engineers to discover and ingest the vast pools of data available at Rapid7.

Our Data-Centric Approach to AI

At the core of our AI engineering is a data-centric approach, in line with the recent gradual trend away from model-centric approaches.  We find model design isn’t always the differentiator: more often it’s all about the data.  In our experience when comparing different models for a classification task, say for example a set of neural networks plus some conventional classifiers, they may all perform fairly similarly with high-quality data.  With data front and centre at Rapid7 as a key part of our overall strategy, major opportunities exist for us to leverage high-quality, high-volume datasets in our AI solutions, leading to better results.

Of course, there are always cases where model design is more influential.  However marginal performance gains, often seen in novelty-focused academia, may not be worth the extra implementation effort or compute expense in practice. Not to say we aren’t across new models and architectures – we review them every week – though the classic saying “avoid unnecessary complexity” also applies to AI.

The Growing Importance of Data in GenAI

Let’s take genAI LLMs as an example.  Anyone following developments may have noticed training data is getting more of the spotlight, again indicative of the data-centric approach.  LLMs, based on transformer architectures, have been getting bigger, and vendors are PRing the latest models hard.  Look closely though and they tend to be trained with different datasets, often in combination with public benchmark data too.  However, if two or three LLMs from different vendors were trained with exactly the same data for long enough we’re willing to bet the performance differences between them might be minimal. Further, we’re seeing researchers push in the other direction, trying to create smaller, less complex open-source LLMs that compare favourably to their much larger commercial counterparts.

Considering this data-centric shift, more complex models in general may not drive performance as much as you think.  The same principles apply to more conventional analytics, machine learning and data science.  Some models we’ve trained also have very small datasets, maybe only 100-200 examples, yet generalise well due to accurately labelled data that is representative of the wild.  Huge datasets are at risk of duplicates or mislabelled examples, essentially significant noise, so it’s about data quality and quantity.  Thankfully we have both in abundance, and our data is of a scale you’re unlikely to find elsewhere.

Expanding our AI Centre of Excellence in Belfast

Rapid7 is further investing in Belfast as part of our new AI Centre of Excellence, encompassing the full range of AI, ML and data science.  We’re on a mission to use data and AI to accelerate threat investigation, detection and response (D&R) capabilities of our Security Operations Centre (SOC).  The AI CoE partners with our data and D&R teams in enabling customers to assess risk, detect threats and automate their security programs.  It ensures AI, ML and data science are applied meaningfully to add customer value, best achieve business objectives and deliver ROI.  Unnecessary complexity is avoided, with a creative, fast-fail, highly iterative approach to accelerate ideas from proof-of-concept to go or no-go.

The group’s make-up is such that our technical skills complement one another; we share our AI, ML and data science knowledge while also contributing on occasion to new external AI policy initiatives with recognised bodies like NIST.  We use, for example, a mix of LLMs, sklearn, PyTorch and more, whilst the team has a track record of publishing award-winning research at the likes of AISec at ACM CCS and with IEEE.  All of this is powered by data, and the AI CoE’s goals are ambitious.

Rapid7’s Data-Centric Approach to AI in Belfast

Interested in joining us?

We are always interested in hearing from people with a desire to be part of something big.  If you want a career move where you can grow and make an impact with data and AI, this is it.  We’re currently recruiting for multiple brand-new data and AI roles in Belfast across various levels of seniority as we expand both teams – and we’d love to hear from you!   Please check out the roles over here!

[$] Kernel-text replication on NUMA systems

Post Syndicated from corbet original https://lwn.net/Articles/956900/

Kernel developers often go out of their way to reduce the memory used by
the kernel itself; that memory is not available for the workloads that
people are actually interested in running on their systems. Lower memory
usage also tends to lead to better performance overall. But there are
times when the expenditure of some extra memory can make the system faster.
The replication of the kernel’s text (executable code) and read-only data
across a NUMA system may be a case in point; patch sets have been posted
adding that capability to two architectures.

Security updates for Friday

Post Syndicated from jake original https://lwn.net/Articles/957005/

Security updates have been issued by Debian (asterisk, chromium, exim4, netatalk, and tomcat9), Fedora (chromium), Gentoo (BlueZ, c-ares, CUPS filters, RDoc, and WebKitGTK+), Oracle (firefox, squid:4, thunderbird, and tigervnc), SUSE (python-aiohttp and python-paramiko), and Ubuntu (linux-intel-iotg).

Шахтите на София

Post Syndicated from Боян Юруков original https://yurukov.net/blog/2024/shahtite-na-sofia/

Откакто се преместих от Франкфурт в София едно от нещата, за които се чудех, е защо има толкова много шахти навсякъде. Покрай случая с убитото от незаконно прекаран ток дете стана ясно, че липсва всякакъв контрол над това кой къде какви шахти прави. Положението практически не се подобри през следващите години. Имаше множество сигнали за подобни проблеми и примери за несправянето на Столичен инспекторат и общината като цяло с тях.

В опит да разбера по-добре проблема се обърнах към данните. Такива обаче нямаше преди три години. Наскоро забелязах, че в картата на общинската ГИС София са добавили слой за подземни проводи и съоръжения. Един от слоевете е именно за шахти и други връзки със сгради и надземна инфраструктура. Някои от тях са шахтите за дъждовна вода по улиците. Други са сервизни за ток и парно. Трети са просто връзки към съседните сгради с ниско напрежение. Не видях описани онези на телекомите. Доколкото проверих няколко известни такива, оптиките минават през или покрай каналите на слаботоковата мрежа. Поне няколко шахти на БТК видях, че са означение по този начин.

Тъй като не бяха в удобен за мен формат, намерих начин да сваля всички данни за въпросните шахти заедно с категорията им. Опростих ги до точка и ги сложих на картата долу. В синьо е вода. В кафяво е канализация – отпадни води и отводняване. В лилаво са колекторите. В зелено са силно- и слаботоковата мрежа и изглежда това включва телекомуникациите. В червено е топлофикация. Целия dataset може да свалите в CSV формат.

За тези данни писах в средата на декември тук, тук и тук. След това изчистих данните от грешки и сега има малко над 322 хиляди шахти и друга подобна подземна инфраструктура. Това означава, че на всеки две семейства в община София се пада по една шахта, доколкото това сравнение може да даде представа за мащаба.

Те са разположени по улици, тротоари и градинки. За всяка промяна се разкопава от край до край същите и се оставят почти винаги в окаяно състояние. Това става видно и от всички разрешения за строеж позволяващи именно разкопаване на подземната инфраструктура, създаване на шахти и после възстановяване на улици и тротоари „по одобрен план и срок“. От данните на НАГ показани на картата долу разбираме, че има почти 4000 такива разкопки в последните 11 години – от началото на 2013-та до сега. Писах за това в началото на декември и всъщност това ме накара да дръпна данните за шахтите.

Всичко това говори за трайна липса на управление и контрол над подземната инфраструктура, липса на план и разбиране както и ограничения над свързването и носене на отговорност за последствията както върху градската среда и инфраструктурата, така и за здравето на хората. От описаното горе страдат не само хората в града пряко в ежедневието си, но се оскъпяват значително всякакви ремонти, рушат се по-често паважи, създават се повече опасности за прекъсване аварии и инциденти.

The post Шахтите на София first appeared on Блогът на Юруков.

Improving Shor’s Algorithm

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2024/01/improving-shors-algorithm.html

We don’t have a useful quantum computer yet, but we do have quantum algorithms. Shor’s algorithm has the potential to factor large numbers faster than otherwise possible, which—if the run times are actually feasible—could break both the RSA and Diffie-Hellman public-key algorithms.

Now, computer scientist Oded Regev has a significant speed-up to Shor’s algorithm, at the cost of more storage.

Details are in this article. Here’s the result:

The improvement was profound. The number of elementary logical steps in the quantum part of Regev’s algorithm is proportional to n1.5 when factoring an n-bit number, rather than n2 as in Shor’s algorithm. The algorithm repeats that quantum part a few dozen times and combines the results to map out a high-dimensional lattice, from which it can deduce the period and factor the number. So the algorithm as a whole may not run faster, but speeding up the quantum part by reducing the number of required steps could make it easier to put it into practice.

Of course, the time it takes to run a quantum algorithm is just one of several considerations. Equally important is the number of qubits required, which is analogous to the memory required to store intermediate values during an ordinary classical computation. The number of qubits that Shor’s algorithm requires to factor an n-bit number is proportional to n, while Regev’s algorithm in its original form requires a number of qubits proportional to n1.5—a big difference for 2,048-bit numbers.

Again, this is all still theoretical. But now it’s theoretically faster.

Oded Regev’s paper.

This is me from 2018 on the potential for quantum cryptanalysis. I still believe now what I wrote then.

[$] The return of None-aware operators for Python

Post Syndicated from jake original https://lwn.net/Articles/956862/

The saga of the None-aware (or null-coalescing) operators for Python
continues. We last looked in on the topic
a little over a year ago and noted that either adoption or a clear
rejection of the idea might help tamp down its regular recurrence. That
has not happened, so, predictably, it was raised again—and does not look
any closer to resolution this time around.

Отчет за парламентарната ми дейност през втората сесия

Post Syndicated from Bozho original https://blog.bozho.net/blog/4197

В края на първата парламентарна сесия на 49-тото Народно събрание публикувах отчет какво съм свършил. В края на 2023 г. приключи и втората парламентарна сесия, така че ето моя отчет и за нея.

Най-важното, което приехме, бяха промените в Конституцията. Но както писах и тогава, тук ще включа само неща, по които лично съм работил (рядко сам, разбира се), за да не си приписвам работа на други колеги или други парламентарни групи. Иначе тук е целият ми профил в сайта на Народното събрание.

През втората сесия приехме следните законови изменения:

  • Изменения в Закона за електронното управление, с които служебни справки се приравняват на удостоверения с цел тяхното отпадане; отпадане на нуждата от квалифициран електронен подпис за заявяване на е-услгуги; електронно връчване на всички документи, свързани с административното наказване; намаляване на таксите за електронни услуги. Описал съм промените в повече детайли тук.
  • Отпадане на трудовата книжка и замяната ѝ с данни в електронен регистър – за това писах по-детайлно тук след приемането на измененията
  • Повече прозрачност в Закона за обществените поръчки – публикуване на повече данни в структуриран вид, както и задължение за публикуване на договори дори когато не се прилага закона (т.е. по изключенията). Описал съм в детайли тук, като с последващо изменение през Закона за бюджета по мое предложение беше приета и допълнителна прозрачност за индексациите заради инфлацията, а именно – да се публикуват всички документи свързани с промяната на стойността на договора. Приехме и редките лекарства да се купуват чрез рамково споразумение, и само ако няма такова да се прилага досегашния ред, а именно – изключение от ЗОП.
  • В Закона за местните данъци и такси приехме общините служебно да получават информация от Кадастъра и Имотния регистър за преустройства, от които следва промяна в данъка, вместо собствениците да го декларират. Предложението в първоначалния му вид беше на Възраждане, а след това работих по неговто преправяне съвместно с НСОРБ и МФ.
  • В Закона за данъка върху добавената стойност премахнахме изискването електронните фактури са имат няколко екземпляра (съответно „копие“ и „оригинал“), тъй като това е най-малкото странно.
  • Поправихме пропуск в Кодекса на труда, така че заплати да могат да се превеждат по всякакви платежни сметки, а не само по банкови такива (има редица услуги, които не са банкови, но по закон имат право да предоставят IBAN)
  • В Закона за авторското право и сродните му права приехме т.нар. право на вторично публикуване на научна литература. Целта на научната литература е знанието да е максимално широко достъпно. За съжаление, това на практика не е така заради ограничения, наложени от научните журнали, поради кеото внесох и приехме авторите на научни публикации, финансирани с обществени средства, да могат да ги публикуват в отворени, некомерсиални хранилища след публикуване в научни журнали. Между четенията направих и прието предложение за императивност на изключенията, обяснено тук.
  • В Закона за съдебната власт въведохме централизирана система за случайно разпределение. До момента за различни случаи се ползват различни системи. С промените ще има една система, с отворен код, с криптографски гаранции за разпределението. Важна стъпка към ограничаването на нерегламентирани влияния в съдебната система.
  • Приехме нов Закон за противодействие на корупцията ЗПК – в който е предвидено публикуване на отворени данни за декларациите, анализ на корупционния риск (който може да бъде автоматизиран, на база на множество източници на данни), и възможност за подаване на декларации по електронен път.
  • На първо четене приехме изменения в Закона за движението по пътищата, с който се предвижда по-ефективно връчване, отпадане на стикери и отворено данни. Между първо и второ четене внесох няколко страници предложения за изправане на разнообразни кусури на закона, като предстои да се създаде работна група, която да оформи финалните предложения за гласуване.

Зададох и 13 въпроси към министри, ето някои по-интересни:

Както отбелязах и при предния отчет, законовите промено минават с гласовете на ГЕРБ, понякога и на други партии. С нашите 63-ма депутати няма как сами да прокараме каквото и да било, така че обсъждаме конструктивно с другите партии.

Продължаваме, закон по закон, текст по текст, да подобряваме законовата рамка.

Материалът Отчет за парламентарната ми дейност през втората сесия е публикуван за пръв път на БЛОГодаря.

re:Invent 2023 DevOps and Developer Productivity Playlist

Post Syndicated from Brian Beach original https://aws.amazon.com/blogs/devops/reinvent-2023-devops-and-developer-productivity-playlist/

The dust has settled after another re:Invent. I once again had the privilege of organizing the DevOps and Developer Productivity (DOP) track along with Jessie VanderVeen, Anubhav Rao and countless others. For 2022, the DOP track included 59 sessions.  If you weren’t able to attend, I have compiled a list of the on-demand sessions for you below.

DOP225 – Build without limits: The next-generation developer experience at AWS – Join this talk to explore the next-generation AWS developer experience. Adam Seligman, Vice President of AWS Generative Builders, provides updates on the latest AWS developer tools and services, including capabilities powered by generative AI, low-code abstractions, cloud development, and operations. See demos of key developer services and how they integrate to help enhance productivity and innovation. Discover how AWS is empowering builders of virtually all skill levels to build, deploy, and scale resilient cloud applications quickly. Learn how the continuous evolution of AWS developer tools and integration and cloud capabilities creates new opportunities to innovate and accomplish more.

DOP201 – Best practices for Amazon CodeWhisperer – Generative AI can create new content and ideas, including conversations, stories, images, videos, and music. Learning how to interact with generative AI effectively and proficiently is a skill worth developing. Join this session to learn about best practices for engaging with Amazon CodeWhisperer, which uses an underlying foundation model to radically improve developer productivity by generating code suggestions in real time.

DOP202 – Realizing the developer productivity benefits of Amazon CodeWhisperer – Developers spend a significant amount of their time writing undifferentiated code. Amazon CodeWhisperer radically improves productivity by generating code suggestions in real time to alleviate this burden. In this session, learn how CodeWhisperer can “write” much of this undifferentiated code, allowing developers to focus on business logic and accelerate the pace of their innovation.

DOP205 – Accelerate DevOps with generative AI and Amazon CodeCatalyst – In this session, see a demo of the newest generative AI features in Amazon CodeCatalyst. Learn how you can input simple instructions to produce ready-to-use code, automatically adjust infrastructure, and update CI/CD workflows. Explore how you can generate concise summaries of intricate pull requests. Join this session to see firsthand how these practical additions to CodeCatalyst simplify application delivery, improve team collaboration, and speed up the software development lifecycle from concept to deployment. Discover the groundbreaking impact that AI can have on DevOps through the lens of CodeCatalyst.

DOP206 – AWS infrastructure as code: A year in review – AWS provides services that help with the creation, deployment, and maintenance of application infrastructure in a programmatic, descriptive, and declarative way. These services help provide rigor, clarity, and reliability to application development. Join this session to learn about the new features and improvements for AWS infrastructure as code with AWS CloudFormation and AWS Cloud Development Kit (AWS CDK) and how they can benefit your team.

DOP207 – Build and run it: Streamline DevOps with machine learning on AWS – While organizations have improved how they deliver and operate software, development teams still run into issues when performing manual code reviews, looking for hard-to-find defects, and uncovering security-related problems. Developers have to keep up with multiple programming languages and frameworks, and their productivity can be impaired when they have to search online for code snippets. Additionally, they require expertise in observability to successfully operate the applications they build. In this session, learn how companies like Fidelity Investments use machine learning–powered tools like Amazon CodeWhisperer and Amazon DevOps Guru to boost application availability and write software faster and more reliably.

DOP208 – Continuous integration and delivery for AWS – AWS provides one place where you can plan work, collaborate on code, build, test, and deploy applications with continuous integration/continuous delivery (CI/CD) tools. In this session, learn about how to create end-to-end CI/CD pipelines using infrastructure as code on AWS.

DOP209 – Governance and security with infrastructure as code – In this session, learn how to use AWS CloudFormation and the AWS CDK to deploy cloud applications in regulated environments while enforcing security controls. Find out how to catch issues early with cdk-nag, validate your pipelines with cfn-guard, and protect your accounts from unintended changes with CloudFormation hooks.

DOP210 – Introducing Amazon CodeCatalyst Enterprise – Amazon CodeCatalyst brings together the things you need to build, deploy, and collaborate on software on AWS into one integrated software development service. With CodeCatalyst Enterprise, organizations can now deliver a pre-paved path to production that complies with IT and security policies and integrates with existing infrastructure investments such as identity and access management (IAM), virtual private cloud (VPC), and custom blueprints. This helps platform engineers and IT to deliver a flexible yet compliant way for developers to start building and collaborating on new software projects in minutes. Join this session to discover the new ways that CodeCatalyst helps enterprise developers build and ship code faster while spending more time doing the work they love.

DOP211 – Boost developer productivity with Amazon CodeWhisperer – Generative AI is transforming the way that developers work. Writing code is already getting disrupted by tools like Amazon CodeWhisperer, which enhances developer productivity by providing real-time code completions based on natural language prompts. In this session, get insights into how to evaluate and measure productivity with the adoption of generative AI–powered tools. Learn from the AWS Disaster Recovery team who uses CodeWhisperer to solve complex engineering problems by gaining efficiency through longer productivity cycles and increasing velocity to market for ongoing fixes. Hear how integrating tools like CodeWhisperer into your workflows can boost productivity.

DOP212 – New AWS generative AI features and tools for developers – Explore how generative AI coding tools are changing the way developers and companies build software. Generative AI–powered tools are boosting developer and business productivity by automating tasks, improving communication and collaboration, and providing insights that can inform better decision-making. In this session, see the newest AWS tools and features that make it easier for builders to solve problems with minimal technical expertise and that help technical teams boost productivity. Walk through how organizations like FINRA are exploring generative AI and beginning their journey using these tools to accelerate their pace of innovation.

DOP220 – Simplify building applications with AWS SDKs – AWS SDKs play a vital role in using AWS services in your organization’s applications and services. In this session, learn about the current state and the future of AWS SDKs. Explore how they can simplify your developer experience and unlock new capabilities. Discover how SDKs are evolving, providing a consistent experience in multiple languages and empowering you to do more with high-level abstractions to make it easier to build on AWS. Learn how AWS SDKs are built using open source tools like Smithy, and how you can use these tools to build your own SDKs to serve your customers’ needs.

DOP228 – Amazon Q: Your new assistant and expert guide for building with AWS – In this session, learn how Amazon Q is transforming the developer experience by speeding up a range of tasks as you research how to get started, evaluate system design, build secure and scalable applications, upgrade existing applications, and optimize application performance. Learn firsthand how Amazon Q capabilities for building, troubleshooting, and transforming applications faster and more easily frees you up to focus on experimentation and innovation.

DOP229 – Automate app upgrades & maintenance using Amazon Q Code Transformation – Developers spend significant time completing the undifferentiated work of maintaining and upgrading legacy applications. Teams need to balance investments in building new features with mandatory patching and update work. Now, using the power of generative AI, Amazon Q can expedite these critical upgrade tasks, transforming applications to use the latest language features and versions. Join the session to learn how your team can automate Java application upgrades and soon port .NET framework applications to cross-platform .NET.

The collective thoughts of the interwebz