Russian troops have abandoned their positions on a captured Ukrainian island, a major set-back to their invasion effort that weakens their blockade of Ukraine's ports, defence officials said Thursday.

The news from the Black Sea came as NATO leaders met for a second day in Madrid, intent on demonstrating their unity and determination to back up Kyiv with advances weapons in the face of Moscow's assault.

Snake Island became a symbol of Ukrainian resistance in the first days of the war, when the rocky outcrop's defenders told a Russian warship that called on them to surrender to "go f*ck yourself," an incident that spurred a defiant meme.

It was also a strategic target, sitting aside shipping lanes near Ukraine's port of Odessa. Russia had attempted to install missile and air defence batteries while under fire from drones.

Now, however, Ukraine has begun to receive longer range missiles and military gear from its Western backers, and the Russian position on Snake Island seems to have become untenable.

The Russian defence ministry statement described the retreat as "a gesture of goodwill" meant to demonstrate that Moscow will not interfere with UN efforts to organise protected grain exports from Ukraine.

But Kyiv claimed it as a win. 

"I thank the defenders of Odessa region who took maximum measures to liberate a strategically important part of our territory," Valeriy Zaluzhny, the Ukraine military's commander-in-chief, said on Telegram.

In peacetime, Ukraine is a major agricultural exporter, but Russia's invasion has damaged farmland and seen Ukraine's ports seized, razed or blockaded -- threatening grain importers in Africa with famine.

Western powers have accused President Vladimir Putin of using the trapped harvest as a weapon to increase pressure on the international community, and Russia has been accused of stealing grain. 

On Thursday, a ship carrying 7,000 tonnes of grain sailed from Ukraine's occupied port of Berdyansk, said the regional leader appointed by the Russian occupation forces.

Evgeny Balitsky, the head of the pro-Moscow administration, said Russia's Black Sea ships "are ensuring the security" of the journey he said, adding that the port had been de-mined.

Separately, the Russian defence ministry said its forces are holding more that 6,000 Ukrainian prisoners of war who have been captured since the February 24 invasion.

The conflict in Ukraine has dominated the NATO summit in Madrid, where the leaders said Russia "is the most significant and direct threat to allies' security and to peace and stability in the Euro-Atlantic area".

This came as NATO officially invited Sweden and Finland to join the alliance, and US President Joe Biden announced new deployments of US troops, ships and planes to Europe.

Biden said that the US move was exactly what Russian President Putin "didn't want" -- and Moscow, facing fierce resistance from Ukrainian forces equipped with Western arms, reacted with predictable fury.

Putin accused the alliance of seeking to assert its "supremacy", telling journalists in the Turkmenistan capital of Ashgabat that Ukraine and its people are "a means" for NATO to "defend their own interests."

"The NATO countries' leaders wish to... assert their supremacy, their imperial ambitions," Putin added.

NATO leaders have funnelled billions of dollars of arms to Ukraine and faced a renewed appeal from President Volodymyr Zelensky for more long-range artillery.

"Ukraine can count on us for as long as it takes," NATO chief Jens Stoltenberg said at the summit, which ends Thursday, as he announced a new strategic overview that focuses on the Moscow threat.

The document, updated for the first time since 2010, warned that the alliance "cannot discount the possibility" of an attack on its members.

Ukraine's Foreign Minister Dmytro Kuleba welcomed NATO's "clear-eyed stance on Russia".

Russian missiles continued to rain down across Ukraine. 

In the southern city of Mykolaiv rescuers found the bodies of six slain civilians in the rubble of a destroyed building, emergency services said. 

The city of Lysychansk in the eastern Donbas region -- the current focus of Russia's offensive -- is also facing sustained bombardment.

"The Russians are throwing almost all of their resources at capturing Lysychansk," Sergiy Gaiday, regional governor of Lugansk, which includes the city, said on Telegram. 

"It's hard to find a safe spot in the city."

Moscow's invasion triggered massive economic sanctions and a wave of support for Zelensky's government, including deliveries of advanced weapons, as well as the reinforcement of Europe's defences.

Washington has announced that it will shift the headquarters of its 5th Army Corps to Poland.

An army brigade will head to Romania and two squadrons of F-35 fighters to Britain, air defence systems will be sent to Germany and Italy, and the fleet of US Navy destroyers in Spain will grow from four to six.

Britain also pledged another $1.2 billion in military aid for Ukraine on Wednesday, including air defence systems and drones.

In a report released Thursday, Amnesty International said a theatre sheltering civilians destroyed in March in the besieged city of Mariupol was likely hit by a Russian airstrike in a war crime.

"Until now, we were speaking about an alleged war crime. Now we can clearly say it was one, committed by the Russian armed forces," Oksana Pokalchuk, head of Amnesty's Ukraine branch, told AFP.

Nevertheless, the group also found the death toll may have been smaller than initially believed. Amnesty believes at least a dozen people died in the attack although it is likely many more remain unreported. 

Mariupol city authorities had provided an initial estimate of around 300 deaths.